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

barabula

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

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>
 
На первый взгляд тут
Код:
$prcod = $myrow0['prcod'];
а используете как
Код:
if (!isset($code) or $code != $prcod[B][COLOR="Red"]e[/COLOR][/B])
 
На первый взгляд тут
Код:
$prcod = $myrow0['prcod'];
Вот тут достаёться значение котрое у меня в БД стоит( 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>";

Код:
if (!isset($code) or $code != $prcod[B][COLOR="Red"]e[/COLOR][/B])
Нет в БД там значение именно prcod а не prcode
 
Нет в БД там значение именно prcod а не prcode
А какая разница что там в бд, если когда ты из бд достаешь данные то помешаешь их в $prcod = $myrow0['prcod']; значит дальше с $prcod работть надо.
 
Блин, тчоно, не обратил внимание на букву е в коде ))
 
Назад
Сверху