在点击超链接之后,要检查用户是否已登录到另一页面。
例如:
if(isset($_POST[...])
foo1(..);
else
foo2(..);
谢谢
答案 0 :(得分:2)
检查其他页面......
示例,您想要访问: yoursite.com/restrcited.php
链接到该页面,当用户访问时, 检查他是否被记录:
session_start();
if(isset($_SESSION['is_logged']) and $_SESSION['is_logged'])){
/* show the content here*/
}else{
header('Location: /login.php?err=');
}
如果用户已登录,他将看到内容,否则,他将被重定向到登录... 您不能使用客户端以另一种方式执行此操作(出于安全原因)
答案 1 :(得分:2)
听起来你想要的是这个:
所以,只需让链接将它们带到一个PHP页面,该页面可以执行您需要做的任何事情,以确定它们是否已登录。然后:
if($loggedin) {
header(' Location:http://yoursite.net/page_you_requested.html ');
}
else {
header(' Location:http://yoursite.net/login_page.html ');
}
答案 2 :(得分:1)
你可以用jQuery和简单的javascript做一些技巧,看看......
尝试在用户登录时为会话定义此变量:
//method that validates user and password from user and returns true or false
if(validateUserExample($user, $pwd)){
//if the data of the user is correct (user and password) set the session of user logged
session_start();
$_SESSION['user_logged'] = true;
}
1 - 创建一个名为“myfile.php”的php文件:
<?php
session_start();
//if there is no user logged redirect to index.
if($_SESSION['user_logged'] != true)
{
header("location: index.php");
}
?>
2 - 设置输入按钮
<input type="button" id="btn" name="btn" value="Click Me" />
3 - 在你的.js文件中有以下内容:
$(document).ready(function(){
$('#btn').click(function(){
location.href = 'myfile.php';
});
});
当你点击“btn”时,它会重定向到myfile.php,看看用户是否记录,然后你得到你所期望的(我认为)
希望这会有所帮助: - )
PS。请阅读更多内容并了解服务器端和客户端,以便更好地理解。
答案 3 :(得分:0)
您必须设置帖子以发布到包含php功能的页面。这都是因为PHP在服务器而不是客户端运行。
答案 4 :(得分:0)
您所描述的内容需要服务器上的php脚本检查登录状态,然后重定向到另一页。我会建议一种更好的方法。
创建一个php“安全”脚本。它只是检查登录状态。如果您已登录,请继续执行;如果您不是,请死()或重定向到错误/登录页面。
在所有需要登录的页面中,包含安全脚本。然后照常链接到这些页面。如果用户已登录,则链接按预期工作,并且不需要额外的技巧来导航。请务必为用户提供登录页面,以便他们在浏览您的网站时获得良好的体验。