Logowanie(opis w kodzie)
<?
// wiadomo spradzam dane wysłane z formularza, odpowiednie je preparuje coby nie b
ły wysyłane jakieś śmieci itp.
// dalej jeśli wszystko przebiegło pozytywnie zostaje sprawdzony login i haslo w b
zie
if ($error==0) {
require_once('connect.php');
if(isset($_POST['user']) && isset($_POST['pass'])) {
$sprawdzlogin = mysql_query("SELECT id, login, haslo FROM userdata WHERE login = '$login' AND haslo = '$haslo' LIMIT 1");
// jeśli login i haslo sie nie zgadzaja
if($wyniksprawdz == 0) {
$blad=1;
echo 'Niepoprawne Login lub Hasło';
}
// jeśli login i hasło są poprawne
if ($blad==0) {
$_SESSION['id']=$userid['id']; // dodaje id usera do sesjii
$_SESSION['logon'] = 1; // dla sprawdzenia czy sesja istnieje
$_SESSION['login'] = $_POST['user']; //login w sesjii
$_SESSION['password'] = $_POST['pass']; //haslo w sesjii ?
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; // ip polaczonego z serwerem
header('Location: <a href=\"http://localhost/zawartosc.php');\" target=\"_blank\">http://localhost/zawartosc.php');</a> //przekieorwanie na strone }
}
?>
Jednak mam problem z plikiem zawartość.php po zalogowaniu:
<?php
// sprawdzam pierw czy sesja logon podawana przy logowaniu istnieje, jesli nie, wy
kakuje komunikat, dla pewnosci sesja jest niszczona i przekierowanie...
if($_SESSION['logon']==0){
header('Location: <a href=\"http://localhost/');</a
> }
// jeśli jest ok i sesja istnieje zostaje wyświetlona zawartość strony
?>
Jednak problem mam z czasem dla sesjii, chciałbym aby w wypadku gdy user nic nie robi na stronie przez 5 minut [jest nie aktywny] sesja byłaby niszczona i przekierowana do jakiejś strony, w starym pliku miałem to tak:
<?php
$intTimeoutSeconds = 600;
if(isset($_SESSION['intLastRefreshTime'])){if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time
()){session_destroy(); header('location: <a href=\"http://localhost/weronika/?mru=fi');}}\" target=\"_blank\">http://localhost/');}}</a> $_SESSION['intLastRefreshTime'] = time(); ?>
Jednak nie wiem jak to mam połaczyć...
Poprzedni plik zawierał też :
<?php
if(!isset($_SESSION['logon']) || !isset($_SESSION['login']) || !isset($_SESSION['password']) || !isset($_SESSION['ip'])) { // echo "3";
return 0;
}
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$ip = $_SESSION['ip'];
if($_SERVER['REMOTE_ADDR'] != $ip) {
// echo "4";
return 0;
}
?>
Czy też muszę coś takeigo dodać w pliku do zalogowania/lub w wypadku poprawnego zalogowania przy dodawaniu sesjii?
Ten post edytował !*! 24.08.2008, 02:51:57