[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    Подскажите пожалуйста, какой командой можно заставить выводить ошибки на экран, если есть такие?
     
  2. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    error_reporting(2047)?
     
  3. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    в начале скрипта
    PHP:
    error_reporting(E_ALL);
     
  4. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    не выводит а ошибка есть какая-то наверняка
     
  5. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ну ты же понимаешь, что действие этой функции не распространяется на логические и алгоритмические ошибки? Что происходит-то?
     
  6. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    ниче. видать где случайно зацепил лишний символ и удалил и терь вообще весь скрипт не рабоает

    вот вычислил кусок который не работает. только не могу понять чего?

    /*

    if ($b[1]<0) {$tmp='<img width="10" height="10" src="./../images/fck/Image/arrow_red.gif">&nbsp;'.$p[1];$col='#e30000';};

    if ($b[1]>0) {$tmp='<img width="10" height="10" src="./../images/fck/Image/arrow_green.gif">&nbsp;'.$p[1];$col='#f0ff00';};

    if ($b[1]==0) {$tmp=$p[1];$col='#000000';$b[1]='-----'};


    echo "<tr><td align=left><font size='2'><b>$tiker[$i]</b></font></td><td align=right><font size='2'>$tmp</font></td><td align=right><font size='2'

    style='color:$col;'><b>$b[1]</b></font></td><td align=right><font size='2'>$date</font></td></tr>";
    */
     
    #3386 Gadik, 5 Jun 2008
    Last edited: 5 Jun 2008
  7. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Может изза коментов

    /* */

    Это ещё что?

    после } ненужно ;
     
    #3387 Doom123, 5 Jun 2008
    Last edited: 5 Jun 2008
  8. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    Doom123, нет. с коментами работает, а без них нет. т.е. ошибка в этом куске


    а есть ли разница что с ними, что без? как показывают опыты - разницы нет
     
    #3388 Gadik, 5 Jun 2008
    Last edited: 5 Jun 2008
  9. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Этот кусок вообше не выполняется, тк закоментирован
     
  10. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    Еще раз повторяю:

    если раскоментировать этот кусок, то весь скрипт работать не хочет.
    если закоментировать, то остальной скрипт работает без ошибок.

    вывод - ошибка в этом куске. или не логично?
     
  11. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    А момент где у тебя начинается новая строка:

    style='color:$col;'>

    Это ты сам сделал? Просто ENTER нажал посреди строки?
     
  12. oRb

    oRb Elder - Старейшина

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    if ($b[1]==0) {$tmp=$p[1];$col='#000000';$b[1]='-----';};
    Точки запятой не хватает.
     
    1 person likes this.
  13. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    нет, это так скопировалось и notepad

    Скажите, ошибка:
    Undefined offset: 1...

    что значит?

    там еще номер строки указан, как отсчитывать (считать ли закоментированные строки или те, которые выполняются сервером0?
     
  14. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Строки именно те, которые он указывает, а варнинг говорит о том, что ты индексируешь массив не заданным индексом, другими словами элемент с заданным индексом не существует...
     
  15. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    oRb, спасибо, действительно из-за точки с запятой не работало.

    groundhog, скажи, а эту ошибку можно игнорировать, т.к. скрипт работает или нет?

    там еще ошибка есть:
    Undefined offset: 46...
     
  16. oRb

    oRb Elder - Старейшина

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    error_reporting(E_ERROR); вначало скрипта напиши.
    А лучше все же разобраться почему у тебя там выскакивает ошибка.
     
  17. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Такая ошибка возникает при обращении массиву по несуществующему индексу.

    PHP:
    error_reporting(E_ALL);
    $a=Array();
    print 
    $a[1]; //тут будет Undefined offset: 1
     
    #3397 d_x, 5 Jun 2008
    Last edited: 5 Jun 2008
  18. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    а если так:
    preg_match("/([\d\-\.]+)/is",$w,$b);

    будет ли ошибка при

    print $b[1];

    ?



    если так, то ошибок нет.

    а если
    error_reporting(E_ALL), то есть.
     
    #3398 Gadik, 5 Jun 2008
    Last edited: 5 Jun 2008
  19. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Ошибка будет в том случае, если эта регулярка ничего не найдёт по заданным критериям.
    Так не будет ошибки:
    print isset($b[1]) ? $b[1] : '';

    На самом деле, undefined offset - это не ошибка, а замечание (notice). Notice'ы по умолчанию не выводятся, поэтому чтобы их увидеть, надо писать error_reporting(E_ALL).
     
    #3399 d_x, 5 Jun 2008
    Last edited: 5 Jun 2008
    1 person likes this.
  20. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    а если я не вывожу на экран при условии, если $b пустое - не будет ли это аналогично твоему примеру?
     
Thread Status:
Not open for further replies.