2014-03-23 3 views
0

Следующий код - это практика, когда я пытаюсь установить страницу входа в систему, которая проверяет имя пользователя (email) & с существующей учетной записью. У меня есть страница входа, которая отправляет эту информацию, но как только она переходит на вторую страницу для обработки, она никогда не дает мне успешного входа. Теперь я прокомментировал части кода и считаю, что ошибка лежит где-то в цикле while.Ошибка PHP и MySQL

Код пытается извлечь POSTed данные из формы и сравнить их с базой данных, называемой «зарегистрированной» с табличными «учетными записями». В таблице есть 4 строки данных с именами пользователей 1, 12, 123 и 1234. Все их пароли равны 2. Независимо от моего ввода, он дает мне те же ошибки, что и я, - «нет такого входа в систему . пожалуйста, попробуйте снова." «Ошибка при попытке».

<html> 
<link rel="stylesheet" type="text/css" href="format.css" /> 

<?php 

$email = $_POST['email']; 
$password = $_POST['password']; 

//Change localhost to match yours 
$connect = mysqli_connect("localhost:8889", "root", "root", "registered"); 


$sql= "SELECT * FROM `accounts` WHERE email ='$email'"; 
$result = mysqli_query($connect, $sql); 


while($row = mysqli_fetch_array($result)) 
    { 
    if ($password == $row["password"]){ 
     echo "successfull login"; 
     echo "<script>window.location.href='session.php'</script>"; 
    } 
} 

if(mysqli_affected_rows($connect)==0) 
{ 
echo "<p> no such login in the system. please try again. </p>"; 
} 
else{ 
echo "successfully logged into system."; 
echo "<script>window.location.href='session.php'</script>"; 
} 

mysqli_close($connect); 

echo "<p> Failed attempt. </p>" 
?> 
</html> 

** Хорошо, я установил $ Result = MySQL ... -> $ результата = MySQLi .... , но я все еще получаю ту же ошибку.

** Я изменил mysql_affected_rows() -> mysql_affected_rows ($ Connect) все еще получаю эти ошибки

** mysql_close -> mysqli_close ($ подключения); ah все еще получаю ошибки

Благодарим за помощь. Надеюсь, это сработает.

+0

Из руководства [ 'mysqli_affected_rows()'] (http://php.net/manual/en/ function.mysqli-affected-rows.php) -> 'Получить количество затронутых строк последним запросом INSERT, UPDATE, REPLACE или DELETE, связанным с link_identifier.' Вы ищете ['mysqli_num_rows()'] (http://php.net/manual/en/mysqli-result.num-rows.php) -> 'Получает количество строк в ar esult' – Sean

ответ

0
$result = mysql_query($connect, $sql); 

должен быть

$result = mysqli_query($connect, $sql); 

Держись там больше

if(mysql_affected_rows()==0) 

должен быть

mysqli_affected_rows($connect) 

и

mysql_close($con); 

должен быть

mysqli_close($connect); 
0
mysql_affected_rows() 

Должно быть:

mysqli_affected_rows($connect)