我最近开始学习PHP会话。这真的帮助我正确登录。
我应首先给你链接:mk-appform.net16.net/login.php(感觉随意使用,这是一个测试。我可以在修复后立即更改通行证) 用户名:admin 密码:1234 请测试一下
问题是,当您未登录并直接在地址栏中输入mk-appform.net16.net/advsearch.php时,我需要事先登录的页面内容会在一秒钟内显示然后它重定向到登录页面。但是你知道,我不希望以任何方式显示它。它最终应该要求登录。
以下是login.php的PHP代码
<?php
session_start();
if(isset($_SESSION['user']) && isset($_SESSION['password']))
{
if($_SESSION['user'] == 'admin' && $_SESSION['password'] == '1234')
{
header("url=advsearch.php");
}
else
{
session_destroy();
echo 'Redirecting..';
}
}
else
{
header("refresh:0; url=login.php");
}
并且,我成功登录后显示的内容代码(advsearch.php)
CREATE OR REPLACE TRIGGER my_trigger BEFORE
UPDATE ON ZONE FOR EACH ROW BEGIN :new.LAST_UPDATED_DTTM := SYSTIMESTAMP ;
END;
/
&GT;
答案 0 :(得分:2)
header
重定向不是即时的。浏览器需要一些时间才能开始关闭连接并启动新连接。这意味着仍然可以查看输出位置标题后在页面上输出的任何内容。输出标题后必须中止脚本。 e.g。
<?php
if (need to redirect) {
header('Location: login.php');
echo 'redirecting to login page, please wait ...';
exit(); // you need this
}
... regular page contents ...
简而言之,如果您不想让用户看到某些内容,那么请先将DON输出。不要依赖一切正常工作(甚至快速)。他们很少这样做。