przerabiam skrypt do logowania na wlasne potrzeby, mam problem z sesjami o ktorych wiem nadal niezadużo
plik do logowania wygląda tak:
<?php
if (isset($_POST['submit'])) { require_once ('../mysql_connect.php');
function escape_data ($data) {
}
}
$message = NULL;
if (empty($_POST['username'])) { $u = FALSE;
$message .= '<p>Zapomniałeś wprowadzić nazwę użytkownika!</p>';
} else {
$u = escape_data($_POST['username']);
}
if (empty($_POST['password'])) { $p = FALSE;
$message .= '<p>Zapomniałeś wprowadzić hasło!</p>';
} else {
$p = escape_data($_POST['password']);
}
if ($u && $p) { // Jeżeli wszystko jest OK.
$query = "SELECT user_id, first_name FROM users WHERE username='$u' AND password='$p'";
if ($row) {
// Rozpocznij sesję, zarejestruj wartości i przekieruj użytkownika.
ini_set ('session.use_cookies', 0
); $_SESSION['first_name'] = $row[1];
$_SESSION['user_id'] = $row[0];
header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/zalogowany.php?" . SID
);
} else {
$message = '<p>Wprowadzona przez Ciebie nazwa użytkownika i hasło nie zgadzają się z naszymi
danymi.</p>';
}
} else {
$message .= '<p>Spróbuj jeszcze raz.</p>';
}
}
$page_title = 'Logowanie';
include ('szablony/naglowek.inc');
echo '<font color="red">', $message, '</font>'; }
?>
<form action="
<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset><legend>WprowadĽ wymagane informacje do poniższego formularza:</legend>
<p><b>Nazwa użytkownika:</b> <input type="text" name="username" size="10" maxlength="20" value="
<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" /></p>
<p><b>Hasło:</b> <input type="password" name="password" size="20" maxlength="20" /></p>
<div align="center"><input type="submit" name="submit" value="Zaloguj się" /></div>
</form><!-- Koniec formularza -->
<?php
include ('szablony/stopka.inc');
?>
załóżmy że login i hasło są prawidłowe i odwiedzajacy zgodnie ze skryptem jest przekierowany do pliku zalogowany.php
czy wtedy w pliku zalogowany i w
każdym innym (oprocz index.php) stan zalogowania (mozliwosc poruszania sie po innych poufnych stronach) moge sprawdzic kodem php wystepujacym na samej gorze strony:
<?php
// Jeżeli nie ma żadnej sesji, przekieruj użytkownika.
if (!isset($_SESSION['first_name'])) { header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/index.php"); }
?>
?