Witam, napisałem taki o to kod i nie wiem czy jest bezpieczny. do pliku login.php leci postem login i haslo z formularza, następnie sprawdza czy istnieje takie w bazie jeżeli tak to tworzy sesje $_SESSION['admin'] = true; następnie by przejść do pliku admin.php trzeba mieć tą sesje jeżeli nie istnieje to przerzuca na login.html
**// Plik konfiguracyjny**
<?php
class base {
protected $host="localhost";
protected $db="base";
protected $user="root";
protected $pass="root";
protected $connect;
public function __construct() {
$this->connect = new PDO("mysql:host=".$this->host.";dbname=".$this->db,$this->user,$this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
}
}
$base = new base;
?>
**// Plik logowania**
<?php
class login extends base{
function access(){
$this->login = htmlentities($_POST['login']);
$this->password = htmlentities($_POST['password']);
$login = $this->connect->prepare('SELECT * FROM user WHERE login=:login AND password=:password');
$login->bindParam(':login', $this->login);
$login->bindParam(':password', MD5($this->password));
$login->execute();
$rows = $login->rowCount();
$dane = $login->fetch();
if($rows == 1){
$_SESSION['admin'] = true;
session_regenerate_id();
header('Location: admin.php');
}else{ $_SESSION['wrong'] = true; exit(); login(); }
}
}
$login = new login;
$login->access();
?>
**//Plik dostępu**
<?php
session_start();
if(!isset($_SESSION['admin'])){ header('Location login.html'); exit(); }
?>
<code=nazwa_jezyka>
</code>
dookoła kodu, który wklejasz. Bez tego Twój post może odnaleźć się w koszu.