Всем доброго времени суток. Подскажите пожалуйста где я ошибся? Есть 2 формы. Одня для редактирования, вторая (обработчик) для занесения отредактированной формы в базу данных. Дело в том что мне обработчик пишет что все изменил, но в базе изменений нет. Ниже предоставлены 2 кода: Форма, куда выводиться информация из базы данных (для редактирования и сохранения) PHP: <?php $db = mysql_connect ("host","login","password"); mysql_select_db ("base",$db); $result = mysql_query("SELECT * FROM table WHERE id='$id'",$db); $myrow = mysql_fetch_array($result);//Извлекаем все данные с данным id print <<<HERE <form id="form1" name="form1" method="post" action="upload.php"> <p> <label>Org:<br /> <input value="$myrow[org]" type="text" name="org" id="org" size="40"/> </label> </p> <p> </p> <input name="id" type="hidden" value="$myrow[id]" /> <div align="center"><input name="submit" id="submit" type="submit" value="Сохранить изменения" /></div> </form> HERE; ?> А это код самого обработчика: PHP: <?php if (isset($_POST['id'])) {$id = $_POST['id']; if ($id =='') {unset($id);}} if (isset($_POST['org'])) {$org = $_POST['org']; if ($org =='') {unset($org);}} $db = mysql_connect ("host","login","password"); mysql_select_db ("base",$db); if ($org== "") { echo "Переменная org - пустая!"; exit; } else { if ($id== "") { echo "Переменная id - пустая!"; exit; } } $result = mysql_query("UPDATE table SET org='$org' WHERE id='$id'"); if ($result == 'true') {echo "<p>Информация успешно сохранена</p>";} else {echo "<p>Информация не сохранена!</p>";} ?> Помогите пожалуйста... Очень надо. Заранее благодарен!
при проверке, echo не ругается на отсутствие ID. А разве ошибка не должна вылазить при обновлении? Что он тогда обновляет?
Я не говорил что его нет в предыдущем коде небыло проверки $id , вот я и спросил если id нет , то он бы обновлял строку в которой id пустое , и даже если нету такой строки , то запрос в базу будет успешным и если что - исходный код спокойно редактируется и id меняется , важную информацию для проверки никогда не прячут в открытом виде в hidden так по коду - сказать нечего просмотрите массив $_POST через echo print_r("$_POST");
Дело в том что пользователи будут редактировать эту страницу, поэтому id им не к чему. сейчас поработаю над id.
в обработчике вывел все передаваемые переменные оператором echo. Оказалось. что он все передает, но передает старые данные, а не новые которые я изменил. нет идей?
в этих местах при включении всех ошибок пхп будет ругаться на неопределенный индекс. надо вот так value="{$myrow['org']}"
Спасибо большое. Дело не в этом. Просто иногда нужно глаза разувыть когда код пишешь. Нашел я свой касяк. Но все равно всем огромное спасибо!!!