Программирование > PHP

Помогите плз, ошибка: Unable to jump to row 0 on MySQL result index 2 in

(1/2) > >>

$@m:
PHP стал изучать совсем недавно, а не так давно встала необходимость написать скрипт для регистрации и авторизации зарегистрированных пользователей. Если регистрацию я осилил, то с авторизацией проблемы... Ситуация стандартная- есть БД в MySql. Пользователь авторизуется по фамилии (в БД- LastName) и паролю (в БД- Password). Помню, как-то давно на одном из форумов (возможно, на этом) нарыл скрипт для авторизации пользователя. Так вот при запуске появляется ошибка:
Warning: Unable to jump to row 0 on MySQL result index 2

собственно, текст скрипта:
<?PHP

mysql_connect ("xxx","xxx","xxx");
mysql_select_db("xxx");


$_POST[\'LastName\'] = addslashes($_POST[\'LastName\']);
$_POST[\'Password\'] = md5($_POST[\'Password\']);

$sql_result = mysql_query("SELECT LastName FROM regusers WHERE LastName=\'$_POST[LastName]\' AND Password=\'$_POST[Password]\'") or die("Couldn\'t query the user-database.");
$num = mysql_result($sql_result,0);

if (!$num) {

// When the query didn\'t return anything,
// display the login form.

echo "<h3>User Login</h3>
<form action=\'$_SERVER[PHP_SELF]\' method=\'post\'>
Username: <input type=\'text\' name=\'user\'>

Password: <input type=\'password\' name=\'pass\'>


<input type=\'submit\' value=\'Login\'>
</form>";

} else {

// Start the login session
session_start();

// We\'ve already added slashes and MD5\'d the password
$_SESSION[\'LastName\'] = $_POST[\'LastName\'];
$_SESSION[\'Password\'] = $_POST[\'Password\'];

// All output text below this line will be displayed
// to the users that are authenticated.

echo "<h1>Congratulations</h1>";
echo "You\'re now logged in. Try visiting <a href=\'page2.php\'>Page 2</a>.";

}

?>
Знатоки, помогите разобраться, мне это еще вчера надо было...:) Заранее спасибо

andymc:

--- Цитировать ---Unable to jump to row 0 on MySQL result index 2
--- Конец цитаты ---
Когда ты пытаешься $num = mysql_result($sql_result,0);, ты должен сначала проверить кол-во найденных рядов
Если юзера с такими данными в базе нет, то рядов не будет, значит будет ошибка.

Можешь написать просто $num = @mysql_result($sql_result,0);
чтобы ошибка не беспокоила

$@m:
Да, ошибка действительно исчезла, но тогда скрипт, при вводе логина и пароля, которые есть в базе, "молчит", хотя должен выдать:

echo "<h1>Congratulations</h1>";
echo "You\'re now logged in. Try visiting <a href=\'page2.php\'>Page 2</a>."; 

X-Disa:
А вместо этого он что-нибудь показывает?)

$@m:
Да нет...страница обновляется и всё:)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии