При проверки логина создает в таблице юзера, даже если он там есть

Статус
В этой теме нельзя размещать новые ответы.

mrflow

Новичок
PHP:
<?php

session_start();

$host = "localhost";
$username = "root";
$passwd = "";
$dbName = "anglbase";
$table = "an_users";

mysql_connect($host, $username, $passwd) or die ("#000 неудалось соединиться.");
mysql_select_db($dbName) or die ("#001 Неудалось соединиться с запрашиваемой базой ($dbName).");

if (isset($_POST['login']) && isset($_POST['pass']))
{
    $login = mysql_real_escape_string($_POST['login']);
    $pass = md5($_POST['pass']);
    $ius = "SELECT id FROM an_users WHERE login = '$login' AND password = '$pass' LIMIT 1";
    $sql = mysql_query($ius) or die(mysql_error());
	
    $row = mysql_fetch_assoc($sql);
    
    if(mysql_num_rows($sql) == 0) {

		/* Чтобы русские буквы записывались */
		mysql_query ("set_client='utf8'");
		mysql_query ("set character_set_results='utf8'");
		mysql_query ("set collation_connection='utf8_general_ci'");
		mysql_query ("SET NAMES utf8");

		$query = "INSERT INTO $table SET login='".$_POST['login']."', password = '".$_POST['pass']."', dat = now()";
		mysql_query($query) or die(mysql_error());

		$_SESSION['user_id'] = $row['id'];
    }
    else { 
    	$_SESSION['user_id'] = $row['id'];
    }
    mysql_close();

    header("Request-URI: ../../index.php");
    header("Content-Location: ../../index.php");
    header("Location: ../../index.php"); 
}

?>
Условие if(mysql_num_rows($sql) == 0) не работает (если юзера нет, он в базу добавляется, если есть, то тоже добавляется).. что не так, подскажите?

Заранее спасибо.
 

mrflow

Новичок
Чем же?

По-поводу ссылки, спасибо. Но у меня нет времени все это перечитывать сейчас. Прямо об ошибке сказать нельзя?
php ничего не выдает после вставления двух строк.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
нельзя.
перечитать прийдется

$ius = "SELECT id FROM an_users WHERE login = '$login' AND password = '$pass' LIMIT 1";

Круто. Молодец!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху