Здравейте.
Правя едно админ панелче и реших да използвал една система за вход/изход, за да може лесно да добавям администратори, но имам проблем. Когато се логна ми изписва, че съм логнат, когато отида в страница където вече би трябвало да имам достъп, ми извежда съобщение, че не съм логнат.
Та, формата за вход е:
Ето и кода в страниците, който проверява дали съм логнат:
Странното е, че преди време кода си работеше, а сега НЕ.
Благодаря предварително за помощта.
Правя едно админ панелче и реших да използвал една система за вход/изход, за да може лесно да добавям администратори, но имам проблем. Когато се логна ми изписва, че съм логнат, когато отида в страница където вече би трябвало да имам достъп, ми извежда съобщение, че не съм логнат.
Та, формата за вход е:
PHP:
<?php
//This displays your login form
function index(){
echo "
<form action='?act=login' id='form1' name='form1' method='post' >
<p>
<label><strong>Администраторско име</strong>
<input type='text' name='adminname' class='fields' id='textfield' />
</label>
</p>
<p>
<label><strong>Парола</strong>
<input type='password' name='password' class='fields' id='textfield2' />
</label>
</p>
<input type='submit' class='button' value='Влез'>
<label>
</label>
</form>
";
}
//This function will find and checks if your data is correct
function login(){
//Collect your info from login form
$adminname = $_REQUEST['adminname'];
$password = $_REQUEST['password'];
//Connecting to database
$connect = mysql_connect("localhost", "*****", "*****");
if(!$connect){
die(mysql_error());
}
//Selecting database
$select_db = mysql_select_db("*******");
if(!$select_db){
die(mysql_error());
}
//Find if entered data is correct
$result = mysql_query("SELECT * FROM administrators WHERE adminname='$adminname' AND password='$password'");
$row = mysql_fetch_array($result);
$id = $row['id'];
$select_user = mysql_query("SELECT * FROM administrators WHERE id='$id'");
$row2 = mysql_fetch_array($select_user);
$user = $row2['adminname'];
if($adminname != $user){
die("Грешно потребителско име!");
}
$pass_check = mysql_query("SELECT * FROM administrators WHERE adminname='$adminname' AND id='$id'");
$row3 = mysql_fetch_array($pass_check);
$email = $row3['email'];
$select_pass = mysql_query("SELECT * FROM administrators WHERE adminname='$adminname' AND id='$id' AND email='$email'");
$row4 = mysql_fetch_array($select_pass);
$real_password = $row4['password'];
if($password != $real_password){
die("Грешна парола!");
}
//Now if everything is correct let's finish his/her/its login
session_register("adminname", $adminname);
session_register("password", $password);
echo "Здравей, ".$adminname." цъкни <a href=test.php>тук</a> за да отидеш в админ панела.";
}
switch($act){
default;
index();
break;
case "login";
login();
break;
}
?>
Ето и кода в страниците, който проверява дали съм логнат:
PHP:
<?php
session_start();
$adminname = $_SESSION['adminname'];
$password = $_SESSION['password'];
//Check do we have username and password
if(!$adminname && !$password){
die('
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Достъп отказан!</title>
<link href="style/noaccess.css" rel="stylesheet" type="text/css" />
</head>
<body>
Не сте логнат!
</body>
</head>
');
}
?>
Странното е, че преди време кода си работеше, а сега НЕ.
Благодаря предварително за помощта.