在html的最前面用php的session判断是否登陆,可以跳转,但是没有alert的弹窗是怎么回事??? 5

<?phpsession_start();if($_SESSION['name']=="yonghongdl"||$_SESSION['name']=="yonghong... <?php

session_start();

if ($_SESSION['name'] == "yonghongdl" || $_SESSION['name'] == "yonghongdl2") {

echo '登录成功!';

} else {

//转向登页面

echo "<script>alert("请先登录");</script>";

header("Location: /HotelManager/Home/User/login");

exit();

}

?>
展开
 我来答
app_versionbff
2018-10-30 · TA获得超过436个赞
知道小有建树答主
回答量:402
采纳率:97%
帮助的人:306万
展开全部

短短的几行代码竟然有两个明显的错误

1.语法错误,能不能把引号整好了你,我是你老师得抽你

echo '<script>alert("请先登录");</script>'; //原来你两组双引号要搞事情

2.再一个就是你去查手册学习一下header()这个函数咋用好吧,手册有这么一句话【请注意 header() 必须在任何实际输出之前调用,不管是普通的 HTML 标签,还是文件或 PHP 输出的空行,空格】,你再header()前面直接echo 输出,你又要搞事情吗

最后,如果你要跳转,完全可以在script里面跳啊

匿名用户
2018-11-02
展开全部
一:js 的alert并不能中断php的代码的执行。不妨把header转向为echo 来实际观察一下。
如果页面弹出alert,但是并不去点确定,看下,其后的echo语句是不是已经出来了,是出来的话,就意味着,alert并不能中断其后代码的执行,所以就是立马跳转了。
二:如果要实际点了确定再跳转,应该直接跟在alert 后面继续使用js的location.href来跳转。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友441a3a5
2018-11-05 · 超过16用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:15.6万
展开全部
有两个错误
1:echo "<script>alert("请先登录");</script>";
双引号包含双引号会报错,建议用\转义或者单双引号交叉使用 例如:echo
‘<script>alert("请先登录");</script>';
2:herder跳转前面是不可以有输出的,可以js直接跳转,建议写成
echo ‘<script>alert("请先登录");location.href="...."</script>';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山茶小作坊
2018-11-13 · TA获得超过109个赞
知道小有建树答主
回答量:221
采纳率:72%
帮助的人:69.1万
展开全部
这涉及到一个缓存问题,你需要在header函数前面添加一个sleep,然后设置echo为即时输出,否则php会直接运行header函数,也就看不到当前页面的script 函数了。你可以删除header函数测试,或者直接用scirpt脚本跳转 window.location.herf="URL";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
腾讯电脑管家
2018-11-04 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
展开全部
当用户提交信息与从数据库里查询的信息比对成功,下一步就设置个session来标记用户登录成功。在其他页面就可以通过判断设置的session来获取是否登录的信息了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式