Ответов: 3 Просмотров: 207
|
Прошу о помощи! Сейчас делаю страницу отзывов. Данные успешно передаются с формы в БД и потом выводятся на страничку. Но после перезагрузки страницы данные в массиве остаются и снова они же передаются в БД и затем выводятся на страницу. Как можно сделать, чтобы после заполнения формы и нажатия на кнопку "Отправить" данные записались в БД и вывелись на страничку, а потом массив аннулировался?
CODE ( htmlphp):
скопировать код в буфер обмена
<form method="POST" name="form1"> <p><label for="name" class="id_003">Ваше Имя и Фамилия (мин.2 символа): </p> <p><input type="text" name="name" id="name" class="id_form_name"></label></p> <p><label for="text" class="id_005">Ваш отзыв (мин. 2 символа): </p> <p><textarea name="text" id="text" cols="30" rows="7" class="id_006"></textarea></label></p> <p><input type="submit" class="id_03 id_04" name="submit" value="Отправить"></p> </form> <?php { $name = trim($_POST['name']); $text = trim($_POST['text']); $date = date("Y:m:d H-i-s"); if ($_SERVER['REQUEST_METHOD'] == 'POST') { //Проверка, была ли отправлена форма наш код } } $db = new PDO ('mysql:host=localhost; dbname=my_bd', 'root', '1812dokamul'); $db->exec("SET NAMES UTF8"); $query = $db -> prepare("INSERT INTO otzyv (Name, Text, Data) VALUES (:name, :text, :date)"); $values = [':name' => $name, ':text' => $text, ':date' => $date]; $query->execute($values); $msg = 'Спасибо за отзыв! Обращайтесь к нам еще!'; ?> <div> <?php $db = new PDO ('mysql:host=localhost; dbname=my_bd', 'root', '1812dokamul'); $db->exec("SET NAMES UTF8"); foreach($db->query('SELECT Name, Data, Text FROM otzyv') as $row) { echo '<div id="otzyv">'; echo '<div id="otzyv_name">' . $row['Name'] . '</div>'; echo '<div id="otzyv_data">' . $row['Data'] . '</div>'; echo '<div id="otzyv_text">' . $row['Text'] . '</div>'; echo '</div><br>'; } ?> </div>
|