Автор Тема: Обновление  (Прочитано 8000 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ferryman

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 117
  • +0/-0
  • 0
    • Просмотр профиля
    • http://svitlan.lutsk.ua/forum/
Обновление
« : 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();
}
Всего лишь обновить даные в таблице! Ошибок не выдает никаких, и не обновляет! Может чего ступил!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обновление
« Ответ #1 : 19 Января 2005, 17:39:30 »
а какие ошибки, по твоему, оно должно выдавать? Шёпотом на ушко тебе рассказывать?
Подсказка: PHP FAQ: Ничего не работает! Что делать???

Оффлайн ferryman

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 117
  • +0/-0
  • 0
    • Просмотр профиля
    • http://svitlan.lutsk.ua/forum/
Обновление
« Ответ #2 : 19 Января 2005, 17:59:10 »
Уже все это перепробовал, ну молчит и все и
ini_set(\'display_errors\',1);
error_reporting(E_ALL ^E_NOTICE);
и mysql_error(); тоже;

Оффлайн ferryman

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 117
  • +0/-0
  • 0
    • Просмотр профиля
    • http://svitlan.lutsk.ua/forum/
Обновление
« Ответ #3 : 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 раз. ???

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обновление
« Ответ #4 : 19 Января 2005, 18:40:23 »
Цитировать
ferryman:
перед mysql_query(); вывожу echo $var1."-".$var2."-".$var3;

А зачем?
А что надо выводить?

Оффлайн ferryman

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 117
  • +0/-0
  • 0
    • Просмотр профиля
    • http://svitlan.lutsk.ua/forum/
Обновление
« Ответ #5 : 19 Января 2005, 18:45:52 »
проверить установлены ли все переменные...
Но не обновляет таблицу и все...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обновление
« Ответ #6 : 19 Января 2005, 19:49:14 »
Читай ссылку, которую я дал, ещё раз.
Внимательно.
Прибавить к тому, что там сказано, мне нечего.
там ответы на все вопросы.

Если следовать ВСЕМ рекомендациям, а не выборочно, но ошибку ты увидишь за 5 минут.

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Обновление
« Ответ #7 : 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 "


Учимся писать правильно!
<form name="edit" method="GET" action="<?=$_SERVER[\'PHP_SELF\'];?>">

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

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

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


ferryman
Удачи в далнейших разработках.
[OFF]у меня все. [/OFF]
[off]Безработный[/off]

Оффлайн ferryman

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 117
  • +0/-0
  • 0
    • Просмотр профиля
    • http://svitlan.lutsk.ua/forum/
Обновление
« Ответ #8 : 20 Января 2005, 12:26:16 »
for_i_0 Спасибо за помощь!
Вобщето мне был интересен алгоритм.
В принципе все сделал но только забыл провести id в  update.
В итоге добавил скрытое поле с id шником.
">.
Все проблема решена. Всем спасибо.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обновление
« Ответ #9 : 20 Января 2005, 12:45:49 »
Интересно, а какой процент "программистов" в мире рассуждаеттак же, как и этот несчастный?
Для кого существует только "как правильно написать".
А "как найти ошибку" - ему просто непонятен смысл такого действия.

Оффлайн ferryman

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 117
  • +0/-0
  • 0
    • Просмотр профиля
    • http://svitlan.lutsk.ua/forum/
Обновление
« Ответ #10 : 20 Января 2005, 12:50:10 »
Мжешь закрывать...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обновление
« Ответ #11 : 20 Января 2005, 12:54:46 »
зачем?
ты имеешь в виду, что любые попытки научить тебя искать ош9ибки в своих скриптах бессмыслыны?

Что вместо того, чтобы вывести запрос на экран и в ту же секунду увидеть, что в нем нет id, единственным способом исправить программу является морщенье ума в течении двух суток?

Оффлайн ferryman

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 117
  • +0/-0
  • 0
    • Просмотр профиля
    • http://svitlan.lutsk.ua/forum/
Обновление
« Ответ #12 : 20 Января 2005, 13:05:27 »
Да только потому что тема исчерпана. А флудить моралью плохо.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обновление
« Ответ #13 : 20 Января 2005, 13:11:06 »
Вот об этом я и говорю.
Что для тебя тема конкретной ошибки исчерпана.
А на самом деле тема-то - в УМЕНИИ искать и находить такие примитивные ошибки САМОСТОЯТЕЛЬНО.
Форум рассматирвается исключительно как удаленный отладчик.
- Найдите мне в моем коде ошибку! Нашли? Тема исчерпана!
А учиться искать свои ошибки самостоятельно мы не хотим.
Не хочешь - заставим.

Цитировать
ferryman:
А флудить моралью плохо.

А я аморальный тип.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обновление
« Ответ #14 : 20 Января 2005, 13:23:20 »
Цитировать
ferryman:
А флудить моралью плохо.

Лучше бы ты не искал соринку в чужом глазу, а озаботилсяб ревном в саоём собственном.
Тнбя сколько раз носом в фак тыкали?
Цитировать
Еще очень поможет избежать ошибок в программе выставление error_reporting в E_ALL с самого начала работы скрипта.
Если при отлове критических ошибок сообщения о потенциальных ошибках могут нам помешать увидеть главную, то при разработке нам желателно видеть все - и потенциальные в том числе. Скажем, при E_ALL, при обращении к несуществующей переменной, PHP выдаст предупреждение. То есть, тебе не придется самому выводить переменную, чтобы выяснить, что ты не присвоил ей никакого значения - РНР тебя сам предупредит.

Скажешь - это там не написано?
Цитировать
При работе с mysql обязательно выводить при ошибке mysql_error() и сам запрос - для визуального контроля и копирования на форум.

И этого там тоже нет?
Цитировать

Надо проконтролировать на каждом из участков - все ли переменные имеют то значение, которое ожидается.

Ты это сделал?
Взял пару переменных от балды - все нормально! Все замечательно!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28