За последние 24 часа нас посетили 62775 программистов и 1771 робот. Сейчас ищут 789 программистов ...

скрипт

Тема в разделе "PHP для новичков", создана пользователем ministr, 8 май 2011.

  1. ministr

    ministr Активный пользователь

    С нами с:
    15 апр 2011
    Сообщения:
    39
    Симпатии:
    0
    Обьясните пожалуйста почему при добавлений конструкций echo 'Ок1'; скрипт неправильно работает, что она в себе несёт такое позволяя определится isset($_REQUEST['doSubmit'])


    PHP:
    1. <!-- Модель сценария для обработки формы -->
    2. <?php
    3. $WasError = 0; // индикатор ошибки - если не 0, то была ошибка
    4.  
    5. if (isset($_REQUEST['doSubmit'])) echo 'Ок1';  do {
    6.  
    7.   if ($_REQUEST['reloads'] != 1+1+7) { $WasError = 1; break; }
    8.   if ($_REQUEST['loader'] != "source") { $WasError = 1; break; }
    9.  
    10.   echo "Вы внимательный человек, поздравляем!<br>";
    11.  
    12.   exit();
    13. } while (0);
    14.  
    15. if ($WasError) {
    16.   echo "Вы ответили неверно, попробуйте еще раз.";
    17. }
    18.  
    19. ?>
    20. <!-- Выводим форму, через которую пользователь будет запускать этот
    21. сценарий, и, возможно, отображаем сообщение об ошибке в случае,
    22. если $WasError != 0. -->
    23. <form action="<?=$_SERVER['REQUEST_URI']?>" method=post>
    24.   Число перезагрузок: <input type=text name="reloads"><br>
    25.   Загрузочная программа: <input type=text name="loader"><br>  
    26.   <input type=submit name="doSubmit" value="Ответить на вопросы">
    27. </form>
     
  2. ministr

    ministr Активный пользователь

    С нами с:
    15 апр 2011
    Сообщения:
    39
    Симпатии:
    0
    всё понял. выражение которое следует после условие блока if обнародуется в фигурные скобки. вот так { echo 'Ок1'; }
    а всё что после имеет право выполнятся
     
  3. ministr

    ministr Активный пользователь

    С нами с:
    15 апр 2011
    Сообщения:
    39
    Симпатии:
    0
    А разве break работает в if?
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    break работает в do, но это идиотское или экстравагантное решение
     
  5. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    говнокод атакед.
     
  6. ministr

    ministr Активный пользователь

    С нами с:
    15 апр 2011
    Сообщения:
    39
    Симпатии:
    0
    [vs], это просто пример c использований do-while вместе с break из книги котерова.