PHP需要登录才能查看
好吧,我已经玩了一段时间了,我不知道在哪里。我发现,为了在用户未登录时阻止页面(使用PHP),您需要以下代码:PHP需要登录才能查看,php,login,Php,Login,好吧,我已经玩了一段时间了,我不知道在哪里。我发现,为了在用户未登录时阻止页面(使用PHP),您需要以下代码: <?php session_start(); if(empty($_SESSION['logged_in'])) { header('Location: http://' . $_SERVER['HTTP_HOST'] . '/login.php'); exit; } ?> 太好了,成功了。当我没有登录时,它阻止了我。问题是,当我登录时,它仍然阻止了我
<?php
session_start();
if(empty($_SESSION['logged_in']))
{
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/login.php');
exit;
}
?>
太好了,成功了。当我没有登录时,它阻止了我。问题是,当我登录时,它仍然阻止了我。下面是login.php代码:
<?php
include("db.php");
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from Form
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$password = md5($password); // Encrypted Password
$sql = "SELECT id FROM admin WHERE username='$username' and passcode='$password'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
// If result matched $username and $password, table row must be 1 row
if ($count == 1) {
header("location: index.php");
} else {
$error = "Your Login Name or Password is invalid";
}
}
?>
<form action="login.php" method="post">
<label>UserName :</label>
<input type="text" name="username"/><br />
<label>Password :</label>
<input type="password" name="password"/><br/>
<input type="submit" value=" Login "/><br />
</form>
您没有设置会话变量
试试这个
if($count==1)
{
$_SESSION['logged_in'] = 1; //Or whatever makes it not empty
header("location: index.php");
}
现在,您正在使用一个空会话变量返回索引避免使用Mysql*
正如Dainis所说,您需要在包含之前设置会话启动()
,并且还需要将$\u会话['logged\u in']=true
或在检查用户名后所需的任何内容,密码是正确的
<?php
session_start();
include("db.php");
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$username=mysql_real_escape_string($_POST['username']);
$password=mysql_real_escape_string($_POST['password']);
$password=md5($password); // Encrypted Password
$sql="SELECT id FROM admin WHERE username='$username' and passcode='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
// If result matched $username and $password, table row must be 1 row
if($count==1)
{
$_SESSION['logged_in']=true;
header("location: index.php");
}
else
{
$error="Your Login Name or Password is invalid";
}
}
?>
如果有条件,为登录用户创建会话。检查下面修改的代码
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from Form
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$password = md5($password); // Encrypted Password
$sql = "SELECT id FROM admin WHERE username='$username' and passcode='$password'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
// If result matched $username and $password, table row must be 1 row
if ($count == 1) {
$_SESSION['logged_in'] = 'YES'; // put session value here
header("location: index.php");
} else {
$error = "Your Login Name or Password is invalid";
}
}
非常感谢。成功了。我知道我遗漏了什么,但不太确定是什么。再次感谢!非常感谢。成功了。我知道我遗漏了什么,但不太确定是什么。再次感谢!非常感谢。成功了。我知道我遗漏了什么,但不太确定是什么。再次感谢!