2014-10-03 2 views
0

У меня есть панель входа администратора. Я попытался войти в систему с правильными данными, но мне не дали доступа. База данных включена в fns.php. Пожалуйста, помогите мне в том, что не так с этим кодом.Сессия Вход не работает

Я знаю, что «session_is_registered» не обновлен, но, в конце концов, это не повлияло на результат. Поэтому я опубликовал исходный код, поскольку у меня есть его.

<? 
session_start(); 

include("fns.php"); 
include("header.php"); 
if(([email protected]$password||!$login)&&!session_is_registered("admin")) 
{ 

?> 
<center> 
<b>Login here:</b> 
<table class=regform> 
<tr><td><form name="login" method="get" action="index.php"></td><td></td></tr> 
<tr><td>Login:</td><td> <input name="login" type="text"></td><br></tr> 
<tr><td>Password:</td><td> <input name="password" type="Password"></td><br><br></tr> 
<tr><td></td><td></td></tr> 
<tr><td><input name="enter" type="submit" class=submitbutton value="Verify"></td><td></td></tr> 
</table> 
</form> 
</center> 

<? 

} 
else{ 
if (!session_is_registered("admin")){ 
db_connect(); 
$result=mysql_query("select password from admin where login='$login'"); 
$result=mysql_fetch_array(@$result); 
if($password!=$result['password'] ||!$result) 
{echo "Access denied";} 
else{ 
session_register("admin"); 
$admin="admin";}} 
if (session_is_registered("admin")){ 


display_admin_menu(); 

} 
} 

?> 
<? 
include("footer.php"); 
?> 
+0

я вижу переменный $ входа в запросе, вы можете сказать, что его значение, значит, как его получение значения –

+2

примечание стороны: попробуйте ** не ** использовать короткую открытую PHP тегов '<', используйте вместо этого ' bodi0

+0

@ bodi0 его не примечание стороны, его хорошая заметка, я даже не заметил, спасибо –

ответ

0

Вам не хватает переменной $ log. Кроме того - выбор пароля неверен, вы должны проверить, существует ли пользователь с этими учетными данными, а не получать пароль и затем сопоставлять его с сообщением.

<?Php 
session_start(); 

include("fns.php"); 
include("header.php"); 
if((!isset($_POST)&&!session_is_registered("admin")) 
{ 

?> 
<center> 
<b>Login here:</b> 
<table class=regform> 
<tr><td><form name="login" method="get" action="index.php"></td><td></td></tr> 
<tr><td>Login:</td><td> <input name="login" type="text"></td><br></tr> 
<tr><td>Password:</td><td> <input name="password" type="Password"></td><br><br></tr> 
<tr><td></td><td></td></tr> 
<tr><td><input name="enter" type="submit" class=submitbutton value="Verify"></td><td></td></tr> 
</table> 
</form> 
</center> 

<?Php 

} 
else{ 
if (!session_is_registered("admin")){ 
$login = mysql_real_escape_string($_POST['login']); 
$password = mysql_real_escape_string($_POST['password']); 
db_connect(); 
$result=mysql_query("select * from admin where login='$login' AND password = '$password'"); 
$result=mysql_fetch_array(@$result); 
if(!$result) 
{echo "Access denied";} 
else{ 
session_register("admin"); 
$admin="admin";}} 
if (session_is_registered("admin")){ 


display_admin_menu(); 

} 
} 

include("footer.php"); 
?> 
+0

разрешает в Parse error: синтаксическая ошибка, неожиданная в строке 7 –

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