вот код: <form method="post"> Добавить альбом<br> <input type="text" name="album" size="13"> <input type="submit" name="send" value="Добавить"><br> </form> <?php $album=$_POST['album']; $query_add="INSERT INTO `great_album`(`album`) VALUES('".$album."')"; $res=mysql_query($query); if($album==""){ echo "добавь альбом<br>"; } else { mysql_query($query_add); echo "альбом добавлен"; } при обновлении страницы в бд добавляется последнее вводимое в форму слово, сохраненное в кэше. Даже если окно для текста пустует. Можно ли попросить php (или иным каким образом) не обращаться к кэш памяти и ничего не добавлять из нее? Или может, я неправильно что-то написал. Надеюсь, я четко выразил свою проблему) Спасибо заранее
Нужно сделать refresh страницы, например после mysql_query($query_add); через header location но до отправки заголовков
Код (PHP): if(!empty($_POST['album']) && $album=$_POST['album']) { //а тут уже обрабатывать запрос } Я советую не использовать mysql, так как - это устаревшее расширение и могут быть проблемы. mysqli - рекомендуемое расширение, его используйте. И не забывайте, про экранирование при работе с базой, а то вам такого с формы отошлют, что база станет ихняя =)))
Причём, самый правильный приём, это разнести форму и скрипт записи в БД на два, примерно так: Код (PHP): <?php // a.php session_start(); // Используем сессии для обмена информацией между двумя файлами $just_added = isset($_SESSION["just_added"]); // Мы только что чегой-то добавили? unset($_SESSION["just_added"]); // Флаг сразу сбросить в сессии ?> <form method="post" action='b.php'> Добавить альбом<br> <input type="text" name="album" size="13"> <input type="submit" name="send" value="Добавить"><br> </form> <?php if ($just_added) echo "альбом добавлен"; Код (PHP): <?php // b.php // Где-то здесь установка соединения с mysql, у вас в коде нету session_start(); $album=$_POST['album']; $query_add="INSERT INTO `great_album`(`album`) VALUES('".$album."')"; $res=mysql_query($query); // Устанавливаем флаг, что альбом только что добавлен $_SESSION["just_added"] = 1; // Перенаправляем обратно на форму. Чтоб она автоматом не заполнилась из // кэша браузера, добавляем в конец случайное число header("Location: a.php?" . rand());