Автор Тема: Помогите плз, ошибка: Unable to jump to row 0 on MySQL result index 2 in  (Прочитано 7942 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн $@m

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
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

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Цитировать
Unable to jump to row 0 on MySQL result index 2
Когда ты пытаешься $num = mysql_result($sql_result,0);, ты должен сначала проверить кол-во найденных рядов
Если юзера с такими данными в базе нет, то рядов не будет, значит будет ошибка.

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

Оффлайн $@m

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Да, ошибка действительно исчезла, но тогда скрипт, при вводе логина и пароля, которые есть в базе, "молчит", хотя должен выдать:

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

Оффлайн X-Disa

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
А вместо этого он что-нибудь показывает?)

Оффлайн $@m

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Да нет...страница обновляется и всё:)

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
$@m
В базе пароли хранятся в виде md5 хэша?
Если что попробуй написать echo mysql_error(); может быть там ошибка будет

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
А кажись в форме совсем другие имена полей, (user, pass) , а в POST ищешь  LastName и Password, ?
Не все является тем чем кажется.

Оффлайн ferryman

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 117
  • +0/-0
  • 0
    • Просмотр профиля
    • http://svitlan.lutsk.ua/forum/
if (!mysql_num_rows($sql_result)){
die();
}else{
$num mysql_result($sql_result,0); 
if (!
$num) { 

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

Оффлайн $@m

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Спасибо всем большое, я разобрался

 

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