我开发了这组2个脚本以便使用$ _SESSION变量来检查用户是否已登录。我没有使用Cookie,因为我不想使用“爵士乐“。
这里是login.php中
require 'host.php'; // Connection to database
$message = '';
if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
if ((!$username) || (!$password)) {
$message ='Preencha todos os campos.';
} else{
$username = preg_replace("#[^0-9a-z]#i","",$username);
$password = sha1($password);
$sql = "SELECT * FROM utilizadores WHERE nome_utilizador='$username' AND palavra_chave='$password' LIMIT 1";
$query = mysql_query($sql) or die();
if (mysql_num_rows($query) == 1) {
// Logged in stuff
session_start();
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
while ($consulta = mysql_fetch_array($query)) {
$id = $consulta['id_utilizador']; // ID of username.
}
$_SESSION['id'] = $id;
$message = '<a href="calendario.php">Clique aqui para ir para o calendário.</a>'; // Message that is shown to redirect to another page.
} else{
$message = 'Os dados que inseriu estão incorrectos!'; // Data inserted is incorrect.
}
}
}
这里是检查,如果用户在
session_start();
include 'host.php';
if (isset($_SESSION['id'])) {
$id = $_SESSION['id'];
$password = $_SESSION['password'];
//Verificar se o user existe.
$sql = "SELECT * FROM utilizadores WHERE id_utilizador='$id' AND palavra_chave='$password' LIMIT 1";
$query = mysql_query($sql) or die('Could not connect.');
if (mysql_num_rows($query) > 0) {
header('Location: logout.php');
} else{
// Logged in stuff
$logged = 1;
}
} else{
$logged = 0;
}
本想我会做检查会议记录的文件是包括文件在每一页和检查是$记录== 0.
但它不是存储每页的会话数据。
希望你能帮助我!
谢谢!
你在所有页面上使用session_start()吗? – 2013-02-21 11:44:33
如果我在每个页面中包含verify_session.php,是的,我是 – langel 2013-02-21 11:45:38
您是否尝试将session_start放在php文件顶部的login.php中,而不是在页面的一半处放置? – 2013-02-21 11:49:02