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

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

  • anton

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

    Spritz 17 июля 2009 г. 2:46

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

    ID
    al_code
    used


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


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

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

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



    <?

    $query = "SELECT `id` FROM `al_code` WHERE `al_code` = '${code}' AND `used` = 0";
    $result = mysql_query($query);
    $fields = mysql_fetch_object($result);

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

    header("Location: http://" . $_SERVER['HTTP_HOST']
    . "/survey/index.php" );

    }

    ?>



  • Givi

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

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

    GET'ом передавай условия.

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

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

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

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

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

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

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


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


    $query = 'SELECT * FROM `my_table` WHERE al_code = '.$code;




    $result = mysql_query($query);

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

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

    $row = mysql_fetch_object($result);

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

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


  • anton

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

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





    $result = mysql_query($query);

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

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

    $row = mysql_fetch_object($result);

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

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





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


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

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

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

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

    <tr> </tr>

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

    <tr> <td valign="top"></td> </tr>
    </tbody>
    </table>
    </td> </tr>
    </tbody>
    </table>


    <?php

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


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


    $query = "SELECT al_code * FROM `al_code2` WHERE `al_code` = '" . $code . "' AND `used` = 0 ";

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

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


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

    ?>
    </body>
    </html>


  • phpdude

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      if(isset($_POST['submit'])){ 
    if(isset($_GET['code'])){
    if(preg_match("/^[ a-zA-Z]+/", $_POST['name'])){


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

    }
    }
    }
    adw/0
  • anton

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

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


      if(isset($_POST['submit'])){ 
    if(isset($_GET['code'])){
    if(preg_match("/^[ a-zA-Z]+/", $_POST['name'])){


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

    }
    }
    }

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

    все такими были)))
    +1
    Спустя 8 сек.
    ЗЫ 1122

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