Задать вопрос
@Sandro_s

Почему не добавляется запись в гостевую книгу?

При добавлении name и comment в форму всплывает сообщение 'Ошибка при добавлении записи в гостевую книгу', созданное в guestbook.php и подключённое через отдельный файл alert.php Таблица guestbook создана в базе (id, name,comment)

alert.php

<script type="text/javascript">
		alert ("<?php echo $alert;?>");

</script>


guestbook.php (blocks)

<h2>Добавить запись</h2>
<form name="guestbook" action="" method="post">
<table>
	<tr>
		<td>Имя:</td>
		<td>
				<input type="text" name="name" />	
		</td>
	</tr> 
	<tr>
			<td>Комментарий:</td>
			<td>
				<input type="text" name="comment" />	
			</td>
		</tr>
		<tr>
			<td colspan="2">
		<input type="submit" name="button_guestbook" value="Добавить"/>
			</td>			

		</tr>
     </table>
</form>
<h2>Записи в гостевой книге</h2>

<div>
	<?php
	
    	if (!empty($_POST["button_guestbook"])) { 
      	 $name =  htmlspecialchars ($_POST["name"]);
      	 $comment = htmlspecialchars ($_POST["comment"]);
    	if ((strlen($name) < 3) || (strlen($comment) < 3)) $success = false;
        else $success = addGuestBookComment ($name, $comment);
        if (!$success) {
        	$alert = "Ошибка при добавлении новой записи";
       		 include "alert.php";
			}
		}
	    $comments = getAllGuestBookComments();
		for ($i = 0; $i < count($comments); $i++) {
			 $name = $comments [$i] ["name"];
			$comment = $comments [$i] ["comment"];
			include "blocks/guestbook_comment.php";
		 }
	?>
	
</div>










guestbook_comment.php (в папке blocks)

<p><b><?php echo $name;?>:</b><?php echo $comment;?></p>


function.php

function getAllGuestBookComments () {
		global $mysqli;
		connectDB();
		$result_set = $mysqli->query("SELECT * FROM `guestbook`");
		closeDB();
		return resultSetToArray($result_set);
	}
  
  function addGuestBookComment ($name, $comment) {
	 	global $mysqli;
		connectDB();
		$success = $mysqli->query("INSERT INTO `questbook` (`name, `comment`) VALUES ('$name', '$comment')");
			closeDB();
			return $success;

	 }
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@ipokos
исходя из проверки:
if ((strlen($name) <3) || (strlen($comment) < 3 )) $success = false;

полагаю что длина имени или комментария меньше 3х символов

п.с. а к чему тег PHPMYADMIN ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы