Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Укажите ошибку. Голову сломал уже...


Автор: kallaider 6.5.2009, 21:50
Код

<form name='giveName' action='main.php?act=giveName&book=<?echo $book?>' method='post'>
  <p class="style6">Укажите заглавие для этой книги. Оно будет отображаться в открытой книге.</p>
  <p>     <span class="style7">Внимание!!!</span> <span class="style5">Написать заглавие можно только один раз!</span><BR>
        <input type=text name='target' class=new size=25>
        <input type=submit value="  OK  " class=new>
    </p>
</form>


-------а это то, на что ссылается код------

Код

if($act == "giveName"){
        if(empty($target)){
        require_once "giveName.php";
        }
        else{
        $UPDATE = mysql_query("UPDATE inv SET book_name='$target' WHERE id='$book'");
        print "Заглавие успешно записано в книгу.";
        }



НЕ ПОНИМАЮ ЧТО Не ТАК

Автор: pizzz 6.5.2009, 22:30
error_reporting("E_ALL");

Автор: kallaider 6.5.2009, 22:36
не понял? 

Автор: skyboy 6.5.2009, 23:02
проявлю чудеса телепатии: http://www.phpfaq.ru/globals на тестируемом сервере находится в положении "off"
проявлю дальновидность: ошибки надо уметь выявлять и исправлять. благо, все необходимые механизмы для этого в PHP http://www.phpfaq.ru/error.

Автор: Shark 6.5.2009, 23:15
Код

        $UPDATE = mysql_query("UPDATE inv SET book_name='$target' WHERE id='$book'");
        print "Заглавие успешно записано в книгу.";

тебе надо добавить запись в БД или обновить? если добавить то тебе нужно:
Код

INSERT INTO td_name VALUE()


для обновления:
Код

if($act == "giveName"){
        if(empty($_POST['target'])){
        require_once "giveName.php";
        }
        else{
        $UPDATE = mysql_query("UPDATE inv SET book_name='mysql_real_escape_string($_POST['target'])' WHERE id='$book'");
        print "Заглавие успешно записано в книгу.";
        }

для записи:
Код

if($act == "giveName"){
        if(empty($_POST['target'])){
        require_once "giveName.php";
        }
        else{
        mysql_query("INSERT INTO inv VALUE()");
        print "Заглавие успешно записано в книгу.";
        }

Автор: Sanchezzz 7.5.2009, 07:23
....
Код

//для обновления:Код
if($_GET['act'] == "giveName"){
        if(empty($_POST['target'])){
        require_once "giveName.php";
        }
        else{
        $UPDATE = mysql_query("UPDATE inv SET book_name='mysql_real_escape_string($_POST['target'])' WHERE id='$book'");
        print "Заглавие успешно записано в книгу.";
        }

//для записи:Код
if($_GET['act'] == "giveName"){
        if(empty($_POST['target'])){
        require_once "giveName.php";
        }
        else{
        mysql_query("INSERT INTO inv VALUE()");
        print "Заглавие успешно записано в книгу.";
        }



Автор: kallaider 7.5.2009, 07:23
Спасибо огромное,  сегодня протестирую на сервере! Думаю лучше будет обновлять, что бы в базу не сорить!

Автор: SneG0K 7.5.2009, 08:08
Хм, а научите меня исправлять неизвестные ошибки!

kallaider, Что за ошибка хоть? Что не работает? Опиши по подробней... 

Автор: gta4kv 7.5.2009, 08:27
Цитата

Хм, а научите меня исправлять неизвестные ошибки!

По-дольше поработаешь, научишься.  smile 

Автор: SneG0K 7.5.2009, 09:29
Цитата(gta4kv @  7.5.2009,  07:27 Найти цитируемый пост)
По-дольше поработаешь, научишься.  smile  

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

Автор: Shark 7.5.2009, 11:51
Цитата

Думаю лучше будет обновлять, что бы в базу не сорить! 

а как ты сможешь обновить запись, если, допустим, в ней записи нужной не будет?

Автор: gta4kv 7.5.2009, 13:47
Цитата

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

Нет, я имею ввиду то, что подольше поработаешь и будешь ошибки по коду видеть smile

Автор: SneG0K 7.5.2009, 14:04
Цитата(gta4kv @  7.5.2009,  12:47 Найти цитируемый пост)
Нет, я имею ввиду то, что подольше поработаешь и будешь ошибки по коду видеть smile 

Синтаксических ошибок в коде я не увидел... 
Можно разве что к запросу прицепится, что не проверяет результат...

Автор: gta4kv 7.5.2009, 14:05
Цитата(SneG0K @ 7.5.2009,  14:04)
Цитата(gta4kv @  7.5.2009,  12:47 Найти цитируемый пост)
Нет, я имею ввиду то, что подольше поработаешь и будешь ошибки по коду видеть smile 

Синтаксических ошибок в коде я не увидел... 
Можно разве что к запросу прицепится, что не проверяет результат...

см. пост skyboy

Автор: SneG0K 7.5.2009, 14:27
Аааа, все, я понял о чем вы... Никогда не пользовался этой гадостью, вот и не заметил...

Добавлено через 48 секунд
Приношу свои извинения!

Автор: enof 7.5.2009, 14:47
Как вооще люди умудряются наткнуться на register_globals при обучении(кроме видеоуроков)? В нормальных книгах сразу говорить что это зло, объясняется и благополучно забывается.

Автор: bars80080 7.5.2009, 18:52
Котеров нормальная книга?

Автор: gta4kv 7.5.2009, 19:46
Да, кстати. Я тоже хотел Котерова упомянуть (PHP5 в подлиннике), на сколько я помню там он тоже пишет с включенными register_globals, но при этом о книге могу только лестный отзыв оставить smile

Автор: enof 7.5.2009, 20:25
Речь о книге "PHP 5 в подлиннике"? Как раз эта книга мне очень сильно не понравилась, но не из-за register_globals.
Цитата(gta4kv @  7.5.2009,  20:46 Найти цитируемый пост)
на сколько я помню там он тоже пишет с включенными register_globals,

Разве? Только что скачал, посмотрел, все рассказано про register_globals, приведены примеры уязвимостей.

Автор: gta4kv 7.5.2009, 20:33
Цитата

Разве? Только что скачал, посмотрел, все рассказано про register_globals, приведены примеры уязвимостей. 

Ну тогда epic fail smile Давно её видел последний раз, сейчас тока php.net smile Мне почему то казалось что там примеры кода с register_globals :-( Перепутал с чем то

Автор: bars80080 7.5.2009, 21:41
значит всё же в Котерове не достаточно хорошо объясняется, коли это пропускают.

по факту, прочитав Котерова и сварганив свой первый сайт, первая ошибка с которой я столкнулся на удалённом хостинге - именно регистр-глобалс, так что ничего это не очевидно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)