Zacząłem edukować się w PHP'ie, więc zacząłem robić system logowania i mam mały problem.. otóż wszystko działa ładnie tylko gdy pole login i password jest puste (czyli nie ma uzupełnionych pól) i nacisnę na button to się tak jakby loguje i przekierowuje na plik serwis.php. I nie wiem gdzie popełniłem błąd, byłbym wdzięczny jakby mi ktoś mi pomógł i wytłumaczył.
Oraz jeśli ma ktoś czas i chęci sprawdził cały kod, czy się w ogóle nadaje i jest 'dobrze' napisany.. z góry dziękuję!
Plik index.php
<?php
session_start();
if((isset($_SESSION['logged'])) && ($_SESSION['logged']==true)) {
header('Location: serwis.php');
}
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
<title>Strona www...</title>
<meta charset="utf-8" />
<style>
#errorlogin {
background: #A61212;
color: #fff;
padding: 12px;
box-shadow: 1px 4px 7px #000;
width: 300px;
max-width: 300px;
border-radius: 5px;
margin-top: 15px;
}
</style>
</head>
<body>
<form action="login.php" method="post">
<input type="text" name="user" /><br />
<input type="password" name="pass" /><br />
<input type="submit" value="Zaloguj" name="submit" />
</form>
<?php
if(isset($_SESSION['Error_1'])) {
echo $_SESSION['Error_1'];
}
?>
</body>
</html>
Plik Login.php
<?php
session_start();
if ((!isset($_POST['user'])) || (!isset($_POST['pass'])))
{
header('Location: index.php');
exit();
}
require_once "connect.php";
$baza = @new mysqli($host, $db_user, $db_password, $db_name);
if(isset($_POST['submit'])) {
$user = mysqli_real_escape_string($baza, $_POST['user']);
$pass = mysqli_real_escape_string($baza, $_POST['pass']);
$user = htmlentities($user, ENT_QUOTES, "UTF-8");
$pass = htmlentities($pass, ENT_QUOTES, "UTF-8");
if ( $baza->connect_error ) {
die( 'Connect error: ' . $baza->connect_errno . ' : ' . $baza->connect_error );
} else {
$sql = "SELECT * FROM users WHERE user='$user' AND pass='$pass'";
$result = @$baza->query($sql);
$row = mysqli_fetch_array($result);
if($row['user'] == $user && $row['pass'] == $pass){
$_SESSION['logged'] = true;
$_SESSION['user'] = $row['user'];
$_SESSION['pass'] = $row['pass'];
$_SESSION['id'] = $row['id'];
$_SESSION['email'] = $row['email'];
$_SESSION['adminid'] = $row['adminid'];
if((empty($user)) || (empty($pass))) {
header('Location: index.php');
} else {
header('Location: serwis.php');
}
unset($_SESSION['Error_1']);
}
else {
$_SESSION['Error_1'] = "<div id='errorlogin'>Error_1: Błędne dane logowania!</div>";
header('Location: index.php');
}
}
$baza->close();
}
?>
PLIK serwis.php
<?php
session_start();
if (!isset($_SESSION['logged']))
{
header('Location: index.php');
exit();
}
if((isset($_SESSION['user'])) || (isset($_SESSION['pass'])) ) {
if($_SESSION['adminid'] == 1) {
header('Location: admin-profil.php');
}
}
echo "Witaj drogi graczu! ".$_SESSION['user']. " ";
echo $_SESSION['id'];
echo $_SESSION['email'];
echo "<a href='logout.php'>Wyloguj się</a>";
?>
PLIK admin-profil.php
<?php
session_start();
if((isset($_SESSION['user'])) || (isset($_SESSION['pass'])) ) {
if($_SESSION['adminid'] == 0) {
header('Location: serwis.php');
}
}
if (!isset($_SESSION['logged']))
{
header('Location: index.php');
}
echo "Witaj Adminie ".$_SESSION['user']. " !<br />";
echo "Twoj email: ".$_SESSION['email']. "<br />";
echo "Klik i sie wylogowujesz! <a href='logout.php'>Wyloguj się</a>";
?>