Помогите найти ошибку в запросе

Тема в разделе "PHP", создана пользователем barabula, 13 янв 2011.

Модераторы: latteo
  1. barabula

    barabula

    Регистр.:
    21 май 2009
    Сообщения:
    470
    Симпатии:
    77
    Я делаю секретный раздел, что-б можно было качать файлы токльо после того когда будет введён нужный код .
    Как бы ссилки тогда становятсья активными и кликабельными, до тех пор пока человек не введёт код, у него ссилки не работают.
    Но как не вводи код, почему-то они всё равно остаютсья не кликабельными....
    Я думаю что проблема в этом условии

    if (!isset($code) or $code != $prcode)
    {

    Вообещм в чём проблема??? ))

    PHP:

    <? include ("blocks/bd.php"); ?> 

    <?php  
    $result 
    mysql_query("SELECT  title,meta_d,meta_k,text FROM settings WHERE page='secret'",$db); 
    if (!
    $result

    echo 
    "<p>Ошибка в базе данных, обратитесь к администратору  admin@hostvoc.ru <br> Код ошибки:</p>"
    exit(
    mysql_error()); 

    if (
    mysql_num_rows ($result)>0

    $myrow mysql_fetch_array ($result); 


    else 

    echo 
    "В базе статей не обнаружено"

    if (isset(
    $_POST['code'])) 

    $code $_POST['code']; 


    ?> 
    <!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>Главная</title> 
    <link href="style.css" rel="stylesheet" type="text/css"> 
    </head> 

    <body> 
    <table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border"> 
     <? include ("blocks/header.php"); ?> 
       
      <tr> 
        <td valign="top"> 
         <? $n ="1"; include ("blocks/nav.php"); ?> 
                       
        <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
          <tr> 
           
            <? include ("blocks/lefttd.php"); ?> 
             
       

            <td> 
            <? echo "<p align='center'><img src='img/zam.jpg' width='120' height='136'></p>"; ?> 
            <p><?php echo $myrow["text"] ; 
            
    $result0 mysql_query("SELECT prcod FROM options",$db); 
            if(
    $result0
            { 
            
    $myrow0 mysql_fetch_array($result0); 
            
    $prcod $myrow0['prcod']; 
            }  
            else  
            { 
            exit(
    "<p><strong>Переменная кода не выводиться, проверьте наличие таблицы.</strong></p>"); 
            } 
             
             
            echo 
    "<form action='secret.php' method='post' name='sec'> 
            <p align='center'><strong>Введите КОД</strong></p> 
            <p align='center' ><input class='sinput' name='code' type='text'></p> 
            <p align='center' ><input class='submit' name='submit' type='submit' value='Получить доступ'></p> 
            </form>"

             
             
             
    ?> 
              
             <?php  
              
             
    if (!isset($code) or $code != $prcode
             { 
              
    $result mysql_query("SELECT id,title,description,date,author,mini_img,view FROM data WHERE secret='1'",$db); 
    if (!
    $result

    echo 
    "<p>Ошибка в базе данных, обратитесь к администратору  admin@hostvoc.ru <br> Код ошибки:</p>"
    exit(
    mysql_error()); 

    if (
    mysql_num_rows ($result)>0

    $myrow mysql_fetch_array ($result); 

    do {         
           
              
    printf ("<table align='center'  class='post'> 
               
                <tr> 
                <td class='post_sec'><p class='post_name'><img class='mini' align='left' src='%s'><a href='#'>%s(Доступ заблокирован)</a></p> 
                 
                <p class='post_adds'>Дата вывода: %s</p> 
                <p class='post_adds'>Автор: %s</p></td> 
                </tr> 
                <tr> 
                <td>%s  <p class='post_view'>Просмотров: %s</p></td> 
                </tr> 
                 
                </table><br><br>"
    ,$myrow["mini_img"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"],$myrow["view"]); 


    while(
    $myrow mysql_fetch_array ($result)); 




    else 


    $result mysql_query("SELECT id,title,description,date,author,mini_img,view FROM data WHERE secret='1' ",$db); 
    if (!
    $result

    echo 
    "<p>Ошибка в базе данных, обратитесь к администратору  admin@hostvoc.ru <br> Код ошибки:</p>"
    exit(
    mysql_error()); 

    if (
    mysql_num_rows ($result)>0

    $myrow mysql_fetch_array ($result); 

    do {         
           
              
    printf ("<table align='center'  class='post'> 
               
                <tr> 
                <td class='post_title'><p class='post_name'><img class='mini' align='left' src='%s'><a href='view_post.php?id=%s'>%s</a></p> 
                 
                <p class='post_adds'>Дата вывода: %s</p> 
                <p class='post_adds'>Автор: %s</p></td> 
                </tr> 
                <tr> 
                <td>%s  <p class='post_view'>Просмотров: %s</p></td> 
                </tr> 
                 
                </table><br><br>"
    ,$myrow["mini_img"],$myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"],$myrow["view"]); 


    while(
    $myrow mysql_fetch_array ($result)); 



    ?> 
              
             </p> 
             
              </td> 
          </tr> 
        </table></td> 
      </tr> 
       

      <? include("blocks/footer.php"); ?> 
    </table> 
    </body> 
    </html> 

     
  2. EugeneVC

    EugeneVC

    Регистр.:
    28 окт 2007
    Сообщения:
    297
    Симпатии:
    83
    На первый взгляд тут
    Код:
    $prcod = $myrow0['prcod'];
    а используете как
    Код:
    if (!isset($code) or $code != $prcod[B][COLOR="Red"]e[/COLOR][/B])
     
    barabula нравится это.
  3. barabula

    barabula

    Регистр.:
    21 май 2009
    Сообщения:
    470
    Симпатии:
    77
    Вот тут достаёться значение котрое у меня в БД стоит( 433 к примеру)

    Вот с переменной $code я сам немного запутался, на сколкьо я понял, то эта переменная создаёться из формы которая идёт в отправку:

    echo "<form action='secret.php' method='post' name='sec'>
    <p align='center'><strong>Введите КОД</strong></p>
    <p align='center' ><input class='sinput' name='code' type='text'></p>
    <p align='center' ><input class='submit' name='submit' type='submit' value='Получить доступ'></p>
    </form>";

    Нет в БД там значение именно prcod а не prcode
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.239
    А какая разница что там в бд, если когда ты из бд достаешь данные то помешаешь их в $prcod = $myrow0['prcod']; значит дальше с $prcod работть надо.
     
    barabula нравится это.
  5. barabula

    barabula

    Регистр.:
    21 май 2009
    Сообщения:
    470
    Симпатии:
    77
    Блин, тчоно, не обратил внимание на букву е в коде ))