Код срабатывает через раз.
А именно if(mysql_num_rows($result) < 1 ) .
Данная проблема возникает сразу после регистрации нового пользователя, при переходе с обработчика на главную страницу.
Такое ощущение что в бд еще не успела попасть информация, а запрос уже был подан.
Как такое лечится ?
$row_cat = mysql_fetch_assoc($result); - выдает FALSE. НО должна быть array.
$row_cat2 = mysql_num_rows ($result); - выдает 0. Хотя должна быть 1, т.к. регистрация прошла, в базе есть данные и присутствует сессия!
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- if (isset($_SESSION['login']) && isset($_SESSION['password'])) {
- $email_1 = $_SESSION['email'];
- $password_1 = md5($_SESSION['$password']);
- $login_1 = $_SESSION['login'];
- }
- $query = "SELECT * FROM users WHERE login = '$login_1'";
- $result = mysql_query($query) or die ( "ОШИБКА : ".mysql_error() );
- $row_cat = mysql_fetch_assoc($result);
- $row_cat2 = mysql_num_rows ($result);
- if(mysql_num_rows($result) < 1 ) {
- echo "<center><b><span style='color:red'>Вы не авторизованы! Необходимо авторизоваться, или зарегистрируйтесь если у вас нет логина и пароля!</span></center></b><br>";
- }
- else {
- echo "<div align='right'> <span style='color:green'>Вы авторизованы под логином :<b> $login_1 </b></span></div><br>";
- echo "<div align='right'><html><form action='exit.php'>
- <input type='submit' VALUE='Выйти'/>
- </form></html><br></div>";
- }