Forum Webscript.Ru

Программирование => 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="" выводит название ВЫЗЫВАЮЩЕГО, ТОГОЖЕ САМОГО скрипта, это удобно использовать, когда форма инклюдится в разные скрипты, и заведомо неизвестно название вызывающего скрипта.

В твоем случае:
Цитировать
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 "


Учимся писать правильно!
">

В 3 - их если внимательно вглядется в тобою написанный отрезок нормально отстроейнный парсер вывел бы тебе кучу ошибок начиная от не закрытой верхней одиночной ковычки до Undefined variable $update. И это только на первй взгляд.

А теперь смело можешь работать над своим скриптом.

RomikChef
прошу прощения за несдерженность.


ferryman
Удачи в далнейших разработках.
[OFF]у меня все. [/OFF]
Название: Обновление
Отправлено: 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 - а чего некрасиво???
И чего я должен понять...
Все что надо было уже сказано и все понято, а модеру уже было предложение...
Цитировать
ferryman:
Так тема ж исчерпана
и точка...