michal32
(Michalmatma32)
17 Czerwiec 2014 14:59
#1
Witam.
Napisałem stronę do logowania w php.
<?php
if($_POST['haslowpisane'] == "kangur")
{
header( 'Location: strona.php' ) ;
}
?>
<html>
<head>
<title>Logowanie</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div>
<form id="password" method="post">
<input name="haslowpisane" type="password">
<br>
<input type="submit" value="Zaloguj">
</form>
</div>
</body>
</html>
Sprawdzam tylko hasło, bo chcem mieć tylko jednego użytkownika. Mam pytanie, jak sprawdzić na strona.php czy ktoś kto wchodzi jest zalogowany? Myślałem o sprawdzeniu ostatniego wpisu w historii, ale ktoś mógł po prostu być wcześniej na stronie logowania i wtedy to nie zadziała.
P.S. Jestem początkujący w php i słyszałem coś o sesjach, ale nie wiem jak to wykorzystać.
toboneq
(toboneq)
17 Czerwiec 2014 16:21
#2
Najprościej jak się da:
<?php
session_start();
if($_SESSION['zalogowany'] == true AND $_SESSION['pass'] == "kangur")
{
header('Location: strona.php');
} else if($_POST['haslowpisane'] == "kangur")
{
$_SESSION['zalogowany'] = true;
$_SESSION['pass'] = "kangur";
header( 'Location: strona.php' ) ;
}
?>
<html>
<head>
<title>Logowanie</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div>
<form id="password" method="post">
<input name="haslowpisane" type="password">
<br>
<input type="submit" value="Zaloguj">
</form>
</div>
</body>
</html>
michal32
(Michalmatma32)
17 Czerwiec 2014 17:08
#3
Dzięki, tylko jak dałem ten kod na index.php (strona z logowaniem), a do strona.php dodałem:
<?php
if($_SESSION['zalogowany'] == true OR $_SESSION['pass'] != "kangur")
{
header('Location: index.php');
}
?>
to strony się zapentlają. W kółko przekierowują się na wzajem. I jeszcze jaki będzie kod do wylogowania?
toboneq
(toboneq)
17 Czerwiec 2014 19:08
#4
<?php
session_start();
if($_SESSION['zalogowany'] != true OR $_SESSION['pass'] != "kangur")
{
header('Location: index.php');
}
?>
to do daj do strona.php
a wylogowywanie
<?php
session_start();
if($_SESSION['zalogowany'] != true OR $_SESSION['pass'] != "kangur") {
echo "Nie byłes zalogowany!";
}
else{
unset($_SESSION['zalogowany']);
unset($_SESSION['pass']);
echo "Wylogowanie prawidlowe!";
}
session_destroy();
?>
michal32
(Michalmatma32)
20 Czerwiec 2014 07:50
#5
Dzięki, działa.
P.S. Sorry, że tyle się nie odzywałem, ale miałem problemy z serwerem i nie miałem jak tego przetestować.