Intereting Posts
Могу ли я ограничить доступ к веб-папке только зарегистрированным пользователям моего веб-сайта? Разбор вывода команды «верхний» (оболочка) с помощью PHP Symfony2: тип поля формы сбора данных с прототипом данных Допустимо ли распространять функции библиотеки PHP исключительно для изменения имен? Время выполнения скриптов PHP phpMyAdmin бесконечный цикл при попытке использовать phpMyAdmin из VistaPanel на ByetHost скрипт curl просто заполняет форму, не отправив ее Как написать запрос соединения в API Volusion Высокая частота Ajax и перегрузка сна MySQL Laravel принадлежит Не работает PHP – Файл конфигурации приложения, хранящийся как – ini, php, sql, cached, php class, JSON, php array? Случайное число в пределах диапазона с семенем Выбор данных таблицы MySql в массив Как проверить работу cron на локальном сервере, например WAMP? Используйте PHP или Flash для извлечения кадра из видео

Функция «Редактировать» для сообщений на форуме и т. Д.

Я смотрел онлайн скрипт, который демонстрирует, как я буду делать, чтобы пользователи на моем сайте могли редактировать поля и т. Д., Но я ничего не мог найти. Поэтому мне было интересно, может ли кто-нибудь объяснить мне, как это работает или просто продемонстрировать со сценарием? Чтобы было ясно, я хочу, чтобы пользователи могли редактировать материалы, которые они отправили, просто нажав «изменить» и нажав кнопку, чтобы обновить все, что они изменили.

Редактирование: я забыл упомянуть, что то, что было изменено, должно обновить таблицу в базе данных MySQL.

Related of "Функция «Редактировать» для сообщений на форуме и т. Д."

Для этого вам нужны 2 файла PHP. Вы можете использовать один файл, но это понятие легче объяснить.

  1. Форма, которая будет загружать содержимое базы данных в поля, где пользователи могут редактировать значения, а затем отправлять их для изменения, нажимая кнопку один раз.
  2. Файл, который получает измененную информацию и обновляет базу данных.

Вот пример кода для первого файла:

<?php // connect to SQL $dbcnx = @mysql_connect("localhost", "db_name", "password"); if (!$dbcnx) { echo( "<P>Unable to connect to the database server at this time.</P>" ); exit(); } // connect to database $dbcon = @mysql_select_db("db_table", $dbcnx); if (!$dbcon) { echo( "<P>Unable to locate DB table at this time.</P>" ); exit(); } #data preparation for the query $id = intval($_GET["id"]); # selects title and description fields from database $sql = "SELECT * FROM table_name WHERE id=$id"; $result = mysql_query($sql) or die(mysql_error()); # retrieved by using $row['col_name'] $row = mysql_fetch_array($result); ?> <h3>Edit</h3> <form action="save_edit.php" enctype="multipart/form-data" method="post" name="myForm" /> <table> <tr> <td><b>Title</b></td> <td><input type="text" size="70" maxlength="100" name="title" value="<?php echo $row['title'] ?>"></td> </tr> <tr> <td><b>Description</b></td> <td><textarea cols="80" rows="18" name="description"><?php echo $row['description']; ?></textarea></td> </tr> </table> <input type="hidden" name="id" value="<?php echo $id; ?>" /> <input name="enter" type="submit" value="Edit"> </form> <?php mysql_close($dbcnx); ?> 

И вот пример кода для второго файла, где он получает изменения, внесенные пользователем, и обновляет базу данных.

 <?php // connect to SQL $dbcnx = @mysql_connect("localhost", "db_name", "password"); if (!$dbcnx) { echo( "<P>Unable to connect to the database server at this time.</P>" ); exit(); } // connect to database $dbcon = @mysql_select_db("db_table", $dbcnx); if (!$dbcon) { echo( "<P>Unable to locate DB table at this time.</P>" ); exit(); } #data preparation for the query $id = intval($_POST["id"]); foreach ($_POST as $key => $value) $_POST[$key] = mysql_real_escape_string($value); $sql = "UPDATE table_name SET title='$_POST[title]', description='$_POST[description]', WHERE id=$id"; if (!mysql_query($sql,$dbcnx)) { die('Error: ' . mysql_error()); } mysql_close($dbcnx); header ("location: http://www.domain.com/url_to_go_to_after_update"); ?> 

Если вам просто нужна идея создания базовой формы редактирования в PhP, это достаточно просто. Когда они нажимают кнопку редактирования, переведите их в новую форму. Извлеките содержимое из базы данных, используя любую доступную базу данных, к которой вы работаете, и затем инициализируйте это поле. Например, где $content имеет содержимое поля:

 echo '<textarea name="content">'.htmlspecialchars($content).'</textarea>'; 

Когда они отправляют форму, возьмите что-то сейчас в поле и используйте его для обновления таблицы. Это то же самое, что и исходный сценарий вставки, за исключением того, что вы используете операторы обновлений вместо вставки.

Я не уверен, что понял, что ты сказал. Если вы хотите изменить порядок действий , вы можете использовать этот плагин jQuery: Jeditable (с Ajax).

Чтобы немного расширить код Дэниела

 <?php $filename = "file.txt"; if ($_SERVER['REQUEST_METHOD'] == 'POST']) { file_put_contents($filename, $_POST['content']); header("Location: ".$_SERVER['PHP_SELF']); exit; } $content = htmlspecialchars(file_get_contents($filename)); ?> <form method="POST"> <textarea name="content"><?php echo $content?></textarea><br> <input type="submit"> </form>