单击超链接时调用php

时间:2012-03-08 19:55:01

标签: php

在点击超链接之后,要检查用户是否已登录到另一页面。

例如:

if(isset($_POST[...])
   foo1(..);
else 
   foo2(..);

谢谢

5 个答案:

答案 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)

听起来你想要的是这个:

  1. 用户点击链接
  2. PHP检查他们是否已登录
  3. 如果是这样,它会将它们指向特定页面。 (如果没有,到另一页?)
  4. 所以,只需让链接将它们带到一个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“安全”脚本。它只是检查登录状态。如果您已登录,请继续执行;如果您不是,请死()或重定向到错误/登录页面。

在所有需要登录的页面中,包含安全脚本。然后照常链接到这些页面。如果用户已登录,则链接按预期工作,并且不需要额外的技巧来导航。请务必为用户提供登录页面,以便他们在浏览您的网站时获得良好的体验。

相关问题