ФорумПрограммированиеPHP для идиотов → перенаправление на другую страницу с условиями

перенаправление на другую страницу с условиями

  • anton

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 16 июля 2009 г. 23:46

    привет! ести проблемка, я делаю страницу голосование /опрос, на первой странице пользователь вводит свой уникальный код (получает по почте), который хранится в бд
    структура бд

    ID
    al_code
    used


    посли ввода кода он проверяется с бд
    1. если код правильный и пользователь не голосовал то он направляется в опросник
    после завершение опроса, в базе данных изменяется запись в строке used
    2 если код правельный но пользователь голосовал он направляется на форум
    3. если код не правильный то пишется об ошибке


    проблема как воплотить в жизнь? нужна помощь.

    форма ввода
    <form method=&quot;post&quot; action=&quot;sv.php&quot;> 
    <table>
    <tbody>
    <tr> <td>Enter your Code:</td> <td><input type=&quot;text&quot; maxlength=&quot;7&quot; name=&quot;name&quot; /></td> </tr>

    <tr><td></td> <td><input type=&quot;submit&quot; value=&quot;Enter in Survey&quot; /></td> </tr>
    </tbody>
    </table>
    </form>



    <?

    $query = &quot;SELECT `id` FROM `al_code` WHERE `al_code` = &#39;${code}&#39; AND `used` = 0&quot;;
    $result = mysql_query($query);
    $fields = mysql_fetch_object($result);

    if (mysql_num_rows($sql) == 1) {

    header(&quot;Location: http://&quot; . $_SERVER[&#39;HTTP_HOST&#39;]
    . &quot;/survey/index.php&quot; );

    }

    ?>



  • Givi

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 17 июля 2009 г. 0:14, спустя 28 минут 3 секунды

    GET&#39;ом передавай условия.

    И вообще мне кажется тут проще все тащить и делать проверку на полученную строку:
    $query = &#39;SELECT id,used FROM al_code WHERE al_code = &quot;&#39;.$code.&#39;&quot;&#39;;

    if (mysql_num_rows($query) < 1) {
    echo &#39;Kod paleniy - idite guliayte&#39;;
    } else {
    header(&#39;Location: http://&#39;.$_SERVER[&#39;HTTP_HOST&#39;].&#39;/survey/&#39;.($query_arr[&#39;used&#39;] == 1 ? &#39;forum&#39; : &#39;vote&#39;).&#39;.php&#39;);
    }
  • LIFF

    Сообщения: 188 Репутация: N Группа: Адекваты

    Spritz 17 июля 2009 г. 0:17, спустя 2 минуты 50 секунд

    Что такое $sql в твоем коде, откуда она..

    Если id в структуре твоей таблицы это ID пользователя, то тогда запрос к базе такой

    $query = &#39;SELECT * FROM `my_table` WHERE al_code = &#39;.$code.&#39; and id =&#39;.$userid.&#39; LIMIT 0,1&#39;;


    если это просто ID, то запрос


    $query = &#39;SELECT * FROM `my_table` WHERE al_code = &#39;.$code;




    $result = mysql_query($query);

    // Проверяем условия

    // неверный код
    if (!mysql_num_rows($result)) header(&quot;Location: на страницу с ошибкой&quot;);

    $row = mysql_fetch_object($result);

    // пользователь уже голосовал
    if($row->used) header(&quot;Location: на страницу форума&quot;);

    // пользователь не голосовал
    header(&quot;Location: на страницу голосования&quot;);


  • anton

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 17 июля 2009 г. 2:24, спустя 2 часа 7 минут 10 секунд





    $result = mysql_query($query);

    // Проверяем условия

    // неверный код
    if (!mysql_num_rows($result)) header(&quot;Location: на страницу с ошибкой&quot;);

    $row = mysql_fetch_object($result);

    // пользователь уже голосовал
    if($row->used) header(&quot;Location: на страницу форума&quot;);

    // пользователь не голосовал
    header(&quot;Location: на страницу голосования&quot;);





    получилось так, выдает ошибки


    <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot;
    &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;>

    <html>
    <body>
    <table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; align=&quot;center&quot; width=&quot;800&quot; class=&quot;maintable&quot;>
    <tbody>
    <tr> <td>
    <table height=&quot;100&amp;#37;&quot; align=&quot;center&quot; width=&quot;700&quot; valign=&quot;top&quot;>
    <tbody>
    <tr> <td align=&quot;center&quot;>
    <h1>Survey</h1>
    </td> </tr>

    <tr> <td align=&quot;center&quot;> <form method=&quot;get&quot; action=&quot;/survey/index.php&quot;>
    <table>
    <tbody>
    <tr> <td>Enter your Code:</td> <td><input type=&quot;text&quot; maxlength=&quot;7&quot; name=&quot;code&quot; /></td> </tr>

    <tr><td></td> <td><input type=&quot;submit&quot; value=&quot;Enter in Survey&quot; /></td> </tr>
    </tbody>
    </table>
    </form> </td></tr>

    <tr> </tr>

    <tr> <td></td> </tr>

    <tr> <td valign=&quot;top&quot;></td> </tr>
    </tbody>
    </table>
    </td> </tr>
    </tbody>
    </table>


    <?php

    if(isset($_POST[&#39;submit&#39;])){
    if(isset($_GET[&#39;code&#39;])){
    if(preg_match(&quot;/^[ a-zA-Z]+/&quot;, $_POST[&#39;name&#39;])){
    $name=$_POST[&#39;name&#39;];


    $db=mysql_connect (&quot;localhost&quot;, &quot;bmerged_23&quot;, &quot;[email protected]_33&quot;) or die (&#39;I cannot connect to the database because: &#39; . mysql_error());
    $mydb=mysql_select_db(&quot;al_code&quot;);


    $query = &quot;SELECT al_code * FROM `al_code2` WHERE `al_code` = &#39;&quot; . $code . &quot;&#39; AND `used` = 0 &quot;;

    $result = mysql_query($query);
    //
    if (!mysql_num_rows($result)) header(&quot;Location: http://www.vaultdev.mortherner.com/error.php&quot;);
    $row = mysql_fetch_object($result);

    //
    if($row->used) header(&quot;Location: http://www.vaultdev.mortherner.com/forum.php&quot;);


    //
    header(&quot;Location: http://www.vaultdev.mortherner.com/survey/index.php&quot;);

    ?>
    </body>
    </html>


  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 17 июля 2009 г. 2:29, спустя 4 минуты 57 секунд

    пиздец
    Сапожник без сапог
  • Givi

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 17 июля 2009 г. 2:34, спустя 5 минут 17 секунд

    Да полный пиздец. Подумать ТС вовсе не хочет, учитывая что ему впарили херню какую-то недоделанную а не код.
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 17 июля 2009 г. 2:36, спустя 1 минуту 30 секунд

    anton, уважаемый, а какие ошибки выдает?
    adw/0
  • anton

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 17 июля 2009 г. 2:38, спустя 2 минуты 38 секунд

    бля, ну не шарю я в PHP, дайти идею а я почитаю книженции умные. на кой х писать всякое {+++24+++} Parse error: syntax error, unexpected $end in /var/www/dev/bitrix-system/vault/search.php on line 64
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 17 июля 2009 г. 2:39, спустя 1 минуту 7 секунд

      if(isset($_POST[&#39;submit&#39;])){ 
    if(isset($_GET[&#39;code&#39;])){
    if(preg_match(&quot;/^[ a-zA-Z]+/&quot;, $_POST[&#39;name&#39;])){


    ты наоткрывал блоки, будешь закрывать?

    }
    }
    }
    adw/0
  • anton

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 17 июля 2009 г. 2:41, спустя 1 минуту 40 секунд


      if(isset($_POST[&#39;submit&#39;])){ 
    if(isset($_GET[&#39;code&#39;])){
    if(preg_match(&quot;/^[ a-zA-Z]+/&quot;, $_POST[&#39;name&#39;])){


    ты наоткрывал блоки, будешь закрывать?

    }
    }
    }

    спасибо уважаемый!!!!!!!!!!!!!!!!!
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 17 июля 2009 г. 2:42, спустя 1 минуту

    anton, всегда пожалуйста
    adw/0
  • rider-sx

    Сообщения: 2717 Репутация: N Группа: Адекваты

    Spritz 17 июля 2009 г. 2:51, спустя 8 минут 35 секунд


    бля, ну не шарю я в PHP, дайти идею а я почитаю книженции умные. на кой х писать всякое {+++24+++} Parse error: syntax error, unexpected $end in /var/www/dev/bitrix-system/vault/search.php on line 64
    Если не шаришь тогда зачем тут задавать вопрос, м? Или ты хочешь чтоб за тебя написали решение? Хм, а может лучше было бы сначала почитать мануал?
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 17 июля 2009 г. 2:53, спустя 1 минуту 58 секунд

    Какие все злые…
    Вроде чел нормальный, потупит немного и зашарит ;)
    adw/0
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 17 июля 2009 г. 2:54, спустя 52 секунды

    потупит немного и зашарит ;)

    все такими были)))
  • rider-sx

    Сообщения: 2717 Репутация: N Группа: Адекваты

    Spritz 17 июля 2009 г. 2:54, спустя 41 секунду


    Какие все злые…
    Вроде чел нормальный, потупит немного и зашарит ;)
    Щас я поем, приду и буду добрый =) Только проснулся ) {+++12+++}

    потупит немного и зашарит ;)

    все такими были)))
    +1 {+++8+++} ЗЫ 1122

Пожалуйста, авторизуйтесь, чтобы написать комментарий!