Программирование => PHP => Тема начата: ferryman от 19 Января 2005, 16:32:05
Название: Обновление
Отправлено: ferryman от 19 Января 2005, 16:32:05
Народ! не могу понять в чем проблема? Вот скрипт: $result=mysql_query("SELECT * FROM table WHERE id=\'".$_GET[id]."\'"); $row=mysql_fetch_assoc($result); echo " if(!isset($update)){ exit; }else{ mysql_query("UPDATE table SET var1=\'$var1\', var2=\'$var2\', var3=\'$var3\' WHERE id=\'".$_GET[id]."\'"); mysql_close(); } Всего лишь обновить даные в таблице! Ошибок не выдает никаких, и не обновляет! Может чего ступил!
Название: Обновление
Отправлено: Меняздесьдавнонет от 19 Января 2005, 17:39:30
а какие ошибки, по твоему, оно должно выдавать? Шёпотом на ушко тебе рассказывать? Подсказка: PHP FAQ: Ничего не работает! Что делать??? (http://phpfaq.ru/debug)
Название: Обновление
Отправлено: ferryman от 19 Января 2005, 17:59:10
Уже все это перепробовал, ну молчит и все и ini_set(\'display_errors\',1); error_reporting(E_ALL ^E_NOTICE); и mysql_error(); тоже;
Название: Обновление
Отправлено: ferryman от 19 Января 2005, 18:22:50
перед mysql_query("UPDATE table SET var1=\'$var1\', var2=\'$var2\', var3=\'$var3\' WHERE id=\'".$_GET[id]."\'"); вывожу echo $var1."-".$var2."-".$var3; ну не обновляет и все..., и ошибок не выдает. Все переменные перепроверил 10 раз. ???
Название: Обновление
Отправлено: Меняздесьдавнонет от 19 Января 2005, 18:40:23
Цитировать
ferryman: перед mysql_query(); вывожу echo $var1."-".$var2."-".$var3;
А зачем? А что надо выводить?
Название: Обновление
Отправлено: ferryman от 19 Января 2005, 18:45:52
проверить установлены ли все переменные... Но не обновляет таблицу и все...
Название: Обновление
Отправлено: Меняздесьдавнонет от 19 Января 2005, 19:49:14
Читай ссылку, которую я дал, ещё раз. Внимательно. Прибавить к тому, что там сказано, мне нечего. там ответы на все вопросы.
Если следовать ВСЕМ рекомендациям, а не выборочно, но ошибку ты увидишь за 5 минут.
Название: Обновление
Отправлено: for_i_0 от 20 Января 2005, 11:18:30
Во первых action="=$_SERVER[\'PHP_SELF\']; ?>" выводит название ВЫЗЫВАЮЩЕГО, ТОГОЖЕ САМОГО скрипта, это удобно использовать, когда форма инклюдится в разные скрипты, и заведомо неизвестно название вызывающего скрипта.
В твоем случае:
Цитировать
ferryman: action=".$PHP_SELF."
у тебя просто нет вывода и поле action - пустое (посмотри html-код). В этом случае по умолчанию для action берется тот скрипт, который вызывает эту форму, т.е. получается одно и тоже в обоих случаях.
Цитировать
цитата из конфигурационного фйла php.ini ; You should do your best to write your scripts so that they do not require ; register_globals to be on; Using form variables as globals can easily lead ; to possible security problems, if the code is not very well thought of.
Во вторых тебе не помешало бы внедрять PHP - code в HTML а не наоборот как ты делаешь привожу пример:
Цитировать
ferryman: echo "
Учимся писать правильно!
Название: Обновление
Отправлено: ferryman от 20 Января 2005, 12:26:16
for_i_0 Спасибо за помощь! Вобщето мне был интересен алгоритм. В принципе все сделал но только забыл провести id в update. В итоге добавил скрытое поле с id шником. ">. Все проблема решена. Всем спасибо.
Название: Обновление
Отправлено: Меняздесьдавнонет от 20 Января 2005, 12:45:49
Интересно, а какой процент "программистов" в мире рассуждаеттак же, как и этот несчастный? Для кого существует только "как правильно написать". А "как найти ошибку" - ему просто непонятен смысл такого действия.
Название: Обновление
Отправлено: ferryman от 20 Января 2005, 12:50:10
Мжешь закрывать...
Название: Обновление
Отправлено: Меняздесьдавнонет от 20 Января 2005, 12:54:46
зачем? ты имеешь в виду, что любые попытки научить тебя искать ош9ибки в своих скриптах бессмыслыны?
Что вместо того, чтобы вывести запрос на экран и в ту же секунду увидеть, что в нем нет id, единственным способом исправить программу является морщенье ума в течении двух суток?
Название: Обновление
Отправлено: ferryman от 20 Января 2005, 13:05:27
Да только потому что тема исчерпана. А флудить моралью плохо.
Название: Обновление
Отправлено: Меняздесьдавнонет от 20 Января 2005, 13:11:06
Вот об этом я и говорю. Что для тебя тема конкретной ошибки исчерпана. А на самом деле тема-то - в УМЕНИИ искать и находить такие примитивные ошибки САМОСТОЯТЕЛЬНО. Форум рассматирвается исключительно как удаленный отладчик. - Найдите мне в моем коде ошибку! Нашли? Тема исчерпана! А учиться искать свои ошибки самостоятельно мы не хотим. Не хочешь - заставим.
Цитировать
ferryman: А флудить моралью плохо.
А я аморальный тип.
Название: Обновление
Отправлено: Меняздесьдавнонет от 20 Января 2005, 13:23:20
Цитировать
ferryman: А флудить моралью плохо.
Лучше бы ты не искал соринку в чужом глазу, а озаботилсяб ревном в саоём собственном. Тнбя сколько раз носом в фак тыкали?
Цитировать
Еще очень поможет избежать ошибок в программе выставление error_reporting в E_ALL с самого начала работы скрипта. Если при отлове критических ошибок сообщения о потенциальных ошибках могут нам помешать увидеть главную, то при разработке нам желателно видеть все - и потенциальные в том числе. Скажем, при E_ALL, при обращении к несуществующей переменной, PHP выдаст предупреждение. То есть, тебе не придется самому выводить переменную, чтобы выяснить, что ты не присвоил ей никакого значения - РНР тебя сам предупредит.
Скажешь - это там не написано?
Цитировать
При работе с mysql обязательно выводить при ошибке mysql_error() и сам запрос - для визуального контроля и копирования на форум.
И этого там тоже нет?
Цитировать
Надо проконтролировать на каждом из участков - все ли переменные имеют то значение, которое ожидается.
Ты это сделал? Взял пару переменных от балды - все нормально! Все замечательно!
Название: Обновление
Отправлено: for_i_0 от 24 Января 2005, 13:12:27
Цитировать
ferryman: Народ! не могу понять в чем проблема?
Цитировать
ferryman: Вобщето мне был интересен алгоритм.
ferryman [OFF]некрасиво однко/[/OFF].
Название: Обновление
Отправлено: ferryman от 24 Января 2005, 13:52:22
Цитировать
for_i_0: некрасиво однко
- а по теме...
Название: Обновление
Отправлено: Меняздесьдавнонет от 24 Января 2005, 13:58:16
Так тема ж исчерпана?
Название: Обновление
Отправлено: for_i_0 от 24 Января 2005, 14:09:54
ferryman еще раз повторяю для тех кто не хочет понимать или же неможетпонять.
В твоем первоначальном посте не было речи о алгоритме. Речь шла только о твоих ошибках.
Название: Обновление
Отправлено: ferryman от 24 Января 2005, 14:27:00
for_i_0 - а чего некрасиво??? И чего я должен понять... Все что надо было уже сказано и все понято, а модеру уже было предложение...