Ребят, всем привет. Я в этом деле новенький и столкнулся с такой проблемой при написании скрипта ввода данных с формы в mysql происходит такая штука, что поля пустые, а после обновления страницы либо просто при посещении ее пустые данные формы сами заносятся в базу и поэтому получается очень много пустых записей в таблице бд, может кто поможет? ВОТ САМ СКРИПТ PHP: <center> <h2><i>Добавление новой услуги</i></h2> </center> <body> <form name="forma" method="post"> <style> #name { width : 300px; } #name_discription { width : 700px; height : 111px; } </style> <strong><i>Название услуги</i></strong>:<br/><input type="text" name="priv_name" id="name"> <br /> <br /> <strong><i>Описание услуги</i></strong>: <p><textarea name="description" id="name_discription"></textarea></p><br /> <input name="submit" type="submit" value="Добавить"> </body> </form> <?php $db = mysql_connect("localhost", "root", "root"); mysql_select_db("exgaming"); $name = $_POST['priv_name']; $description = $_POST['description']; $result = mysql_query("INSERT INTO uslugi (name, desrcip) VALUES ('$name', '$description')"); if ($result) { echo "<strong><center>Данные успешно сохранены!</center></strong>"; } else { echo "Произошла ошибка, пожалуйста повторите попытку."; } ?> Подскажите, и помогите исправить данный скрипт, чтобы данные заносились после нажатия на кнопку добавить
Надо mysql_query выполнять только тогда когда есть данные, добавь if с проверкой что пришёл запрос методом POST и ключи priv_name, description массива $_POST не пустые. https://secure.php.net/manual/ru/control-structures.elseif.php https://secure.php.net/manual/ru/function.empty.php https://secure.php.net/manual/ru/reserved.variables.server.php REQUEST_METHOD должен быть равен POST
PHP: if (empty{'$name','$description')) = null { echo "Введите данные"; } else if ($result) { echo "<strong><center>Данные успешно сохранены!</center></strong>"; } else { echo "Произошла ошибка, пожалуйста повторите попытку."; } Что-то все равно идет ни так, либо я далекий))
@denis01 хороших ссылочек накидал, хоть одну прочитал? Последнюю особенно. Потом, расширение mysql выпелено из современной версии php, надо переделывать на mysqli, и ещё нужно данные экранировать перед вставкой. Короче, весь набор типичных ошибок чела, который пишет на php методом копирования кода со странных сайтов --- Добавлено --- Вообще, новеньким не надо писать базы данных. Надо решать задачи типа "посчитать по формуле такой-то", найти значения такие-то и т.п.: http://www.itmathrepetitor.ru/zadachi-po-php-vychisleniya/
@khlebnikov809 перечитай ссылки, у тебя проблемы с синтаксисом Логика должна быть примерно такой PHP: if (empty($_POST['priv_name']) || empty($_POST['description'])){ echo "Введите данные"; } elseif($_SERVER['REQUEST_METHOD'] == 'POST') { $result = mysql_query("INSERT INTO uslugi (name, desrcip) VALUES ('".mysql_real_escape_string($_POST['priv_name'])."', '".mysql_real_escape_string($_POST['description'])."')"); if ($result) { echo "<strong><center>Данные успешно сохранены!</center></strong>"; } else { echo "Произошла ошибка, пожалуйста повторите попытку."; } }
Да я и так пробовал, пустые данные все равно переносятся с форм в таблицу БД как только зашел на страницу,