|
|
|
|
|
для: admin
(20.06.2011 в 17:33)
| | После выполнения SQL-запроса, нужно обязательно проверять его на наличие ошибок. MySQL и PHP - это разные среды, при возникновении ошибки на стороне MySQL у PHP нет возможности на неё отреагировать автоматически, поэтому нужно обязательно каждый раз проверять правильность выполнения запроса
<?php
...
$res=mysql_query($sql);
if(!$res)
{
echo "Ошибка - ".mysql_error()."<br>";
echo $sql;
exit();
}
...
?>
|
| |
|
|
|
|
|
|
| доброго времени суток!
подскажите почему в 16 строке выдает ошибку
<?php
include('connectdb.php');
session_set_cookie_params ($lifetime=1800);
session_start();
//выход
if(isset($_GET['exit'])) {
unset($_SESSION['login']);
unset($_SESSION['id']);
}
//авторизация
if(isset($_SESSION['id']) && isset($_SESSION['login'])){
$id = mysql_escape_string($_SESSION['id']);
$sql="SELECT * FROM `user` WHERE id='$id'";
$res=mysql_query($sql);
if(mysql_num_rows($res)>0) { // 16 строка
$userinfo = mysql_fetch_array($res);
$state=1;
}
}
if($state != 1){
if( isset($_POST['login']) && isset($_POST['pass']) ) { // если пользователь ввёл логин и пароль
$login = mysql_escape_string($_POST['login']);
$pass = mysql_escape_string($_POST['pass']);
$sql = "SELECT * FROM `users` WHERE `login`='$login' AND `pass`='$pass'";
$res = mysql_query($sql);
$userinfo=mysql_fetch_array($res);
if(mysql_num_rows($res)>0) {
$_SESSION['login'] = $userinfo[login];
$_SESSION['id'] = $userinfo[id];
if(strcmp($pass,$userinfo['pass'])==0){
$state=1;
}
}
}
}
if($state != 1)
{ ?>
<form method="post" action="1.php">
<table>
<tr><td><font color="black" size="2">Логин:</font></td><td><input type="text" size="30" name="login"/><br /></td></tr>
<tr><td><font color="black" size="2">Пароль:</font></td><td> <input type="password" name="pass" size="30"/><br /></td></tr>
<tr><td></td><td><input type="submit" value="Войти"/></td><tr>
<tr><td><a href="register.php">Регистрация</a></td></tr>
</table>
</form>
<?php
}
else{
echo "бла бла<a href=1.php?exit=y>exit</a>";
}
?>
|
| |
|
|
|
|