Php 使用会话控制返回回显
我正在用PHP处理会话。用户输入其姓名和密码,然后将其发布到php页面,如果数据库表中存在凭据,则该页面将启动会话,然后允许用户查看某些页面(如果有效),或者返回登录(如果无效)。 数据库和会话的一切工作正常,但当用户未登录时,它应该回显“您未登录”。然后返回登录页面。它会很好地返回到登录页面,但我在任何地方都看不到消息。有人能告诉我代码的顺序是否不正确,或者用另一种方法来显示错误,而不用页面来显示错误吗Php 使用会话控制返回回显,php,Php,我正在用PHP处理会话。用户输入其姓名和密码,然后将其发布到php页面,如果数据库表中存在凭据,则该页面将启动会话,然后允许用户查看某些页面(如果有效),或者返回登录(如果无效)。 数据库和会话的一切工作正常,但当用户未登录时,它应该回显“您未登录”。然后返回登录页面。它会很好地返回到登录页面,但我在任何地方都看不到消息。有人能告诉我代码的顺序是否不正确,或者用另一种方法来显示错误,而不用页面来显示错误吗 <?php session_start(); echo '<h1&g
<?php
session_start();
echo '<h1>Employees Only</h1>';
if (isset($_SESSION['valid_user']))
{
if ($_SESSION['valid_user'])
{
echo "<p>You are currently logged in as " . $_SESSION['valid_user'] . "</p>";
$form = "<form action=\"logout.php\" method=\"post\">";
$form .= "<input type=\"submit\" name=\"logout\" value=\"Log Out\">";
$form .= "</form>";
echo $form;
}
else
{
echo "<p>You are not logged in.</p>";
header("Location:login1.html");
exit();
}
}
else
{
echo "<p>You are not logged in.</p>";
header("Location:login1.html");
exit();
}
?>
回显“您未登录”。不会显示,但它将返回login1.html使用此选项,它将等待5秒钟,然后将重定向到
login1.html
header( 'refresh: 5; url=login1.html' );
echo '<h1>You will be re-directed in 5 seconds...</h1>';
标题('refresh:5;url=login1.html');
回音“你将在5秒钟内被重新引导…”;
我想这是因为您使用的是标题('location:login1.html')
。它会立即重定向客户端。尝试使用
标题('Refresh:2;url=login1.html')代码>。它将等待x
秒(本例中为2秒),然后重定向。你可以阅读更多关于它的内容 您不能重定向用户,同时希望他有时间查看您发送的消息。例如,您需要后退一步,划分流程,将其保存到变量中,并在下一页向用户显示
实现这一点的方法有很多种,但大多数web框架使用的最流行的方法是生成一条“flash消息”,该消息将只存在于会话中,直到下一个页面重新加载,从而只向用户显示一次
这会告诉你怎么做。如果你想使用现有的东西,谷歌上还有很多。你希望它如何显示消息和重定向?$\u会话['valid\u user']包含什么内容?@chandresh\u cool这并不重要。问题是重新定向page@asprin如果条件满足,他将不会被重新定向。重要的是,请再次检查