Всегда выдает ложь

Discussion in 'PHP' started by Andres, 4 Nov 2009.

  1. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Только начал PHP учить, столкнулся с маленькой проблемой..
    Есть два файла: new_user.php u reg.php

    Файл new_user.php - простая форма с двух полей, имеются две переменные $log u $pass они летят в обработчик reg.php который заносит данные в базу, но у меня всегда почему-то выдает FALSE.

    new_user.php:
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <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="1" align="center" class="main_border">
    
    <!--Header-->
    <?php include ("blocks/header.php"); ?>
    
      <tr>
        <td><table width="690" border="1">
          <tr>
            
            <!--Left block-->
            <?php include ("blocks/lefttd.php"); ?>
            
            <td width="498" valign="top" bgcolor="#FFFFFF">
    <form id="form1" name="form1" method="post" action="reg.php">
      <p><label>Логин:<br />
      <input name="log" type="text" id="log" size="30" />
      </label></p>
      <p>
        <label>Пароль:<br />
        <input name="pass" type="password" id="pass" size="30" />
        </label>
      </p>
      <p>
        <label>
        <input type="submit" name="submit" id="submit" value="Регистрировать" />
        </label>
      </p>
    </form>
    <p>&nbsp;</p> 
            </td>
          </tr>
        </table></td>
      </tr>
      
      <!--Footer block-->
      <?php include ("blocks/footer.php"); ?>
    </table>
    </body>
    </html>
    
    ....

    reg.php:
    Code:
    <?php 
    include("blocks/bd.php");
    
    if(isset($_POST['log']));
    {
    $log=$_POST['log'];
    if ($log=='')
    {
    unset($log);
    }
    }
    if(isset($_POST['pass']));
    {
    $pass=$_POST['pass'];
    if ($pass=='')
    {
    unset($pass);
    }
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <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="1" align="center" class="main_border">
    
    <!--Header-->
    <?php include ("blocks/header.php"); ?>
    
      <tr>
        <td><table width="690" border="1">
          <tr>
            
            <!--Left block-->
            <?php include ("blocks/lefttd.php"); ?>
            
            <td width="498" valign="top" bgcolor="#FFFFFF">
    
    <?php 
    if (isset($log) && isset($pass))
    {
    $result = mysql_query ("INSERT INTO userlist (log,pass) VALUES ('$log', '$pass')");
    
    if ($result == 'true') {echo "<p>Вы успешно зарегистрированы!</p>";}
    else {echo "<p>Регистрация провалена!</p>";}
    
    
    }		 
    else 
    
    {
    echo "<p>Вы не заполнили все поля!</p>";
    }
    ?>
            </td>
          </tr>
        </table></td>
      </tr>
      
      <!--Footer block-->
      <?php include ("blocks/footer.php"); ?>
    </table>
    </body>
    </html>
    
     
    #1 Andres, 4 Nov 2009
    Last edited: 4 Nov 2009
  2. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    Исправь if ($result == true) без кавычек
     
  3. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Спасиб)
    Я только что нашел) проблема в другом)
    С кавычками прекрасно работает)
     
  4. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    и делаю
    PHP:
    var_dump($var);
    для проверки всегда
     
  5. erihtoney

    erihtoney Member

    Joined:
    3 Mar 2009
    Messages:
    91
    Likes Received:
    73
    Reputations:
    20
    Используй mysql_affected_rows() для проверки занесения в бд данных
     
  6. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    ===
    С ковычками ты сравниваеш как с строкой а не с типом.
     
    _________________________
  7. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Понятия не имею что это, но в гугле узнаю. Спасибо

    Ок. Спасибо. Исправил.
     
  8. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Да, я заметил как только написал..4 утра у меня было..
     
  9. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    извиняюсь, а

    if ($result)

    не проще так ли? Еще раз извините

    Или

    if (!$result)

    http://php.net/manual/en/function.mysql-query.php

    RTFM
     
  10. Andres

    Andres Elder - Старейшина

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Я третий день учу PHP, ты ж понимаешь..))
    Спасибо, я попробую)