2013-04-08 3 views
-2

Привет, я только что создал систему входа в систему, используя php и mysql, система входа в систему работает при вводе имени пользователя и пароля vaild из базы данных, но когда я ввожу недопустимое имя пользователя и пароль, он просто петли вернуться на страницу входа в систему, даже если я Постулаты говоря, что это не может, что я хочу печататься, если Логин не удается вот мой код файлаPHP Вход в систему System не будет вызывать ошибку оператора

<?php 
require_once("Connections/connection.php"); 
error_reporting(E_ALL^E_NOTICE); 

$userid = $_POST['userid']; 
$password = $_POST['password']; 
$submitted = $_POST['submitted']; 
if ($userid && $password){ 
    $query =sprintf("SELECT * FROM users where user_name= '$userid' and user_password = '$password'"); 
    $result [email protected]_query($query); 
    $rowAccount [email protected]_fetch_array($result); 
} 
if ($rowAccount){ 
    echo "The record exists so you can enter "; 

} elseif($submitted){ 
    print "you don't exist in the system!"; 
} 


?> 

Мой HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 
<body> 
<form id="form1" name="form1" method="post" action="<?php $_SERVER['PHP_SELF'];?>"> 
    <table width="800"> 
    <tr> 
     <th width="233" scope="col">User ID </th> 
     <th width="555" scope="col"><p> 
     <label for="userid"></label> 
     <label for="userid"></label> 
     <input type="text" name="userid" id="userid" /> 
     </p> 
     <p>&nbsp; </p></th> 
    </tr> 
    <tr> 
     <td>Password </td> 
     <td> <label for="userid"></label>  <label for="password"></label> 

     <input type="text" name="password" id="password" /> </td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
     <td> <input type="hidden" name="submitted" id="submitted" />  <input type="submit" name="Submit" id="Submit" value="Submit" /></td> 
    </tr> 
    </table> 
</form> 
</body> 
</html> 

, чтобы получить эхо рабочего пришлось добавьте значение в скрытое поле, и оно сработало

+0

Ваш оператор 'elseif' проверяет только значение' $ _POST ['submitted'] ', а не если есть записи ... – BenM

+0

делает ли ваше скрытое поле« отправленным »какое-либо значение? –

+0

Оба кода HTML и PHP находятся в одном файле? Если да, то сообщение может печатать, но вы можете видеть его только с помощью опции источника просмотра вашего браузера. Попытка использования die() после сообщения ... –

ответ

0

Попробуйте изменить

elseif($submitted){ print "you don't exist in the system!"; }

просто:

else(){ print "you don't exist in the system!"; }

и посмотреть, если вы видите ваше сообщение тогда?

Вы проверяете переменную, которая не имеет значения, и поэтому возвращается как ложная и не запускает ваш оператор elseif.

В качестве альтернативы, вы можете изменить HTML часть на что-то вроде:

<input type="hidden" name="submitted" id="submitted" value="test" />

Вы можете видеть, что я дал ему тестовое значение сейчас просто так, что она возвращает истину так, чтобы огонь вашей ELSEIF заявление ,

+0

Мне пришлось изменить текст html на Michael

Смежные вопросы