За последние 24 часа нас посетили 16886 программистов и 1646 роботов. Сейчас ищут 1050 программистов ...

помогите доработать код

Тема в разделе "PHP для новичков", создана пользователем wwwwwwwia, 31 янв 2014.

  1. wwwwwwwia

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

    С нами с:
    31 янв 2014
    Сообщения:
    7
    Симпатии:
    0
    Есть такой код(файл "x.php")



    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Untitled Document</title>
    </head>

    <body>

    <form action="x.php" method="post" name="q">
    <input name="w" type="text" size="20" maxlength="20">
    <input name="e" type="submit" value="enter"></form>
    <?php
    $r=rand(0,9);
    echo $r;
    if ($r==$_POST[w]) echo "OOOOOOOOOOOOOOOOOOOOOOOk"; else echo "HREN";
    ?>
    </body>
    </html>


    Показывается случайная цифра.Нужно чтоб при введении такой же в форму и нажатии ентер,выводилось ОООООООООООООк , а не хрен.Очень нужен принцип.Желательно что куда переставить или подставить или вставить.
     
  2. imoisey

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

    С нами с:
    27 янв 2014
    Сообщения:
    113
    Симпатии:
    0
    Если цифру нужно показать перед вводом в форму, тогда используй сессию. После этого сравнивай значения сессии и формы
     
  3. wwwwwwwia

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

    С нами с:
    31 янв 2014
    Сообщения:
    7
    Симпатии:
    0
    именно.не могу организовать сессию.выдает какие-то ошибки.Я всего неделю учусь подскажи как
     
  4. imoisey

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

    С нами с:
    27 янв 2014
    Сообщения:
    113
    Симпатии:
    0
    HTML я опушу.

    Код (Text):
    1. <?php
    2. session_start(); // запускаем сессию
    3. if(!is_int($_SESSION['rand_code'])) // Если не число в $_SESSION['rand_code'],
    4.     $_SESSION['rand_code'] = rand(0,9); // Сохранянем рандомное число в сессию
    5. ?>
    6. <!-- ЗДЕСЬ HTML код страницы с формой-->
    7. <?php
    8.     if($_SESSION['rand_code'] === (int)$_POST['w']) { // === если не знаете, что за оператор читайте мануал.
    9.         echo 'ОК';
    10.         unset($_SESSION['rand_code']); // удаляем число из сессии
    11.     }
    12.     elseif(isset($_SESSION['rand_code']))
    13.         echo 'Число не верно.';
    14.     /* По логике, если человек ввел число не верно, то скрипт не будет рандомить новое число */
    15. ?>
    Как встроить в свой код, думайте сами.