main.html里面的表单,提交到login.php
login.php里面就是<?php
session_start();
if (isset($_POST['userid']) && isset($_POST['password']))
{
// if the user has just tried to log in
$userid = $_POST['userid'];
$password = $_POST['password'];
。。。。。。。。。等等内容,正常则显示xx用户登陆,错误就显示账号密码错误,然后贴出一个main。html的连接
现在的问题是,我的其他页面 比如 添加用户,添加成绩等,如果没登陆就不像让它显示出来,我应该在其他页面开始添加上什么?我在网上搜索得到的是添加 require "login.php",可那个页面还是显示在下面啊,怎么办呢?
用了2 3 楼的方法,在没登陆的情况下的确显示不出来了,可登录情况下还是显示不出来....
我是新手,各位多包涵
php中session对页面保护的问题,在线急等
答案:4 悬赏:50 手机版
解决时间 2021-02-20 14:06
- 提问者网友:活着好累
- 2021-02-19 14:04
最佳答案
- 五星知识达人网友:西岸风
- 2021-02-19 14:24
试试如下代码:(放在网页的最前面)
<?php
if (!isset($_SESSION)) {
session_start();
}
//假设在登录验证成功以后,设置了 $_SESSION['userid']
if(!isset($_SESSION['userid']) || $_SESSION['userid']=="")
{
header("Location: login.php");
exit;
}
?>
<?php
if (!isset($_SESSION)) {
session_start();
}
//假设在登录验证成功以后,设置了 $_SESSION['userid']
if(!isset($_SESSION['userid']) || $_SESSION['userid']=="")
{
header("Location: login.php");
exit;
}
?>
全部回答
- 1楼网友:怀裏藏嬌
- 2021-02-19 15:54
在login.php中生成一个session值,表示当前用户已经登录成功
比如:
<!--in login.php file-->
<?php
//密码认证成功后,添加如下代码
$_SESSION['islogin'] = md5($userid);
?>
然后在其他要登录后才能显示的页面中添加对login.php产生的session值判断有无就可以了
比如在添加用户页中添加如下代码
<?php
session_start();
//判断登录里产生的session值是否存在,并且不为空,为空或不存在就是没有登录,直接转向到登录页面
if(!isset($_SESSION[[islogin']) || empty($_SESSION['islogin']))
{
header("Location: main.html");
exit;
}
?>
- 2楼网友:拜訪者
- 2021-02-19 15:38
成功验证后可将用户信息存放在session对象中,例如:
$_SESSION['uid'] = $userid;
#_SESSION('pwd'] = $password;
之后在其它页面的开头使用isset判断session中是否已存在用户信息。
- 3楼网友:往事隔山水
- 2021-02-19 14:54
你sql语句都没有写,就直接执行了
$res=mysql_query($sql,$conn);
$sql 是不存在的,所以 $_session['login_status']=1; 没有被赋值成功
应该添加查询操作 $sql = “select * form `table`........” 查询操作
望采纳 thx
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯