Formularz, przekierowuje mnie do:
<?php
require_once("connect.php");
require_once("functions.php");
if(!logon()) {
header('Location: <a href=\"http://localhost/');\" target=\"_blank\">http://localhost/');</a> }
$userid = $_SESSION['id'];
//i tu dalej odczyt właściwa strona itp.
?>
functions.php wygląda tak:
<?php
function logon() {
//czas sesji w sekundach
$intTimeoutSeconds = 300;
if(isset($_SESSION['intLastRefreshTime'])){if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time
()){session_destroy(); header('location: <a href=\"http://localhost/');}}\" target=\"_blank\">http://localhost/');}}</a> $_SESSION['intLastRefreshTime'] = time();
if(isset($_POST['user']) && isset($_POST['pass'])) {
$sprawdzlogin = mysql_query("SELECT id, login, haslo FROM userdata WHERE haslo = '$haslo' AND login = '$login' LIMIT 1");
if($wyniksprawdz == 0) {
$error=1;
echo 'Niepoprawne Login lub Hasło';
}
}
if(!isset($_SESSION['logon']) || !isset($_SESSION['login']) || !isset($_SESSION['password']) || !isset($_SESSION['ip'])) { $error=1;
}
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$ip = $_SESSION['ip'];
if($_SERVER['REMOTE_ADDR'] != $ip) {
}
if ($error==0) {
$_SESSION['id']=$userid['id'];
$_SESSION['logon'] = 1;
$_SESSION['login'] = $_POST['user'];
$_SESSION['password'] = $_POST['pass'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['logon'] == "1") {
return 1;
}
else {
$error=1;
}
}
?>
Jednak przy logowaniu skrypt wykonuje się bardzo długo, tak jakby się zapętlał... I zabardzo nie wiem dlaczego. W ogóle taki sposób na logowanie jest dobry?