define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_NAME", "gbook");
define("DB_PASSWORD", "");
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
$mydb = mysql_select_db(DB_NAME, $link);
$res = mysql_query("SELECT name,msg,datetime FROM msgs"); // вывод записей на главную страницу
//функция для строк
function clean($value = "") {
$value = trim($value);
$value = stripslashes($value);
$value = strip_tags($value);
$value = htmlspecialchars($value);
return $value;
}
$error = array();
$name = clean($_POST['name']);
$msg = clean($_POST['msg']);
if(!empty($_POST)){
if(empty($name)) $error[] = "Текстовое поле имя не заполнено";
if(empty($msg)) $error[] = "Текстовое поле сообщение не заполнено";
if(empty($error)){
mysql_query("INSERT INTO msgs (name, msg) VALUES ('$name', '$msg')");
mysql_close($link);
}
}
if(!empty($error)) {
foreach($error as $err) {
echo "<div class='error'>$err</div>";
}
}
А вот сама форма HTML
<form method="post" action="<?= $_SERVER['PHP_SELF']?>">
<div class="field"><input type="text" name="name" placeholder="Ваше имя"></div>
<div class="field"><textarea name="msg" id="msg" cols="30" rows="10" placeholder="Ваше сообщение"></textarea></div>
<div class="field-button"><input type="submit" name="submit" value="Отправить"></div>
</form>
Видимо я как-то неправильно написал код, запрос вроде бы правильный, не понимаю почему не добавляет текст в базу. Если получится еще помогите с удалением записи из бд, то есть чтоб для каждого отзыва оставленного в гостевой, была ссылка для удаления.