PDA

Просмотр полной версии : Всегда выдает ложь


Andres
04.11.2009, 01:59
Только начал PHP учить, столкнулся с маленькой проблемой..
Есть два файла: new_user.php u reg.php

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

new_user.php:

<!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:

<?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>

shellz[21h]
04.11.2009, 02:10
$result = mysql_query ("INSERT INTO userlist (log,pass) VALUES ('$log', '$pass')");

if ($result == 'true') {echo "<p>Вы успешно зарегистрированы!</p>";}
else {echo "<p>Регистрация провалена!</p>";}
Исправь if ($result == true) без кавычек

Andres
04.11.2009, 02:14
']Исправь if ($result == true) без кавычек
Спасиб)
Я только что нашел) проблема в другом)
С кавычками прекрасно работает)

eLWAux
04.11.2009, 02:51
и делаю var_dump($var); для проверки всегда

erihtoney
04.11.2009, 10:56
Используй mysql_affected_rows() для проверки занесения в бд данных

b3
04.11.2009, 11:28
']Исправь if ($result == true) без кавычек
===
Спасиб)
Я только что нашел) проблема в другом)
С кавычками прекрасно работает)
С ковычками ты сравниваеш как с строкой а не с типом.

Andres
04.11.2009, 14:50
Используй mysql_affected_rows() для проверки занесения в бд данных
Понятия не имею что это, но в гугле узнаю. Спасибо


С ковычками ты сравниваеш как с строкой а не с типом.

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

rushter
04.11.2009, 15:04
ложь

Andres
04.11.2009, 15:11
ложь
Да, я заметил как только написал..4 утра у меня было..

Pashkela
04.11.2009, 15:18
извиняюсь, а

if ($result)

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

Или

if (!$result)

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

RTFM

Andres
04.11.2009, 15:24
извиняюсь, а

if ($result)

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

Или

if (!$result)

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

RTFM
Я третий день учу PHP, ты ж понимаешь..))
Спасибо, я попробую)