Я создаю админ-админ для небольшого веб-сайта, который я делаю для администратора, который попадает на сайт, но я мало понимаю о сеансах (и php в целом).Создать сеанс для входа в php
Существует две страницы: admin.php (где находится администратор) и backoffice.php (администратор перенаправляется сюда после успешного входа в систему).
Каков самый простой способ создать сеанс для администратора, чтобы пользователь не мог получить доступ к backoffice, просто перейдя на «www.example.com/backoffice.php»?
Я не знаю, если это имеет какой-либо интерес, но вот PHP я использовать для входа в систему администратора:
<?php
ob_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="dragoesmurtosa"; // Database name
$tbl_name="login"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password") or die(mysql_error());
mysql_select_db("$db_name") or die(mysql_error());
// Check $username and $password
if(empty($_POST['username']))
{
echo "UserName/Password is empty!";
return false;
}
if(empty($_POST['password']))
{
echo "Password is empty!";
return false;
}
// Define $username and $password
$username=$_POST['username'];
$password=($_POST['password']);
// To protect MySQL injection (more detail about MySQL injection)
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$sql="SELECT * FROM $tbl_name WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $username and $password, table row must be 1 row
if ($count==1) {
header("refresh:0;url=backoffice.php");
} else {
echo "Wrong password, you'll be sent to the login page";
header("refresh:3;url=admin.php");
}
ob_end_flush();
?>
Я не вижу, что вы используете сессии еще где-нибудь. Поэтому используйте сеансы. http://php.net/session_start – Halcyon
'session_start();' '$ username = $ _POST ['username'];' '$ _SESSION ['username'] = $ username;' if (isset ($ _ SESSION [ 'username'])) {// дать доступ} 'в принципе. Или 'if (! Isset ($ _ SESSION ['username'])) {// загружаем их}' –
помещает шлюз в каждый скрипт. 'Session_start(); if (! $ _ SESSION ['is_admin']) {redirect_whereewhere(); } '. –