2012-03-08 111 views
-5

在点击超级链接之后,如果用户登录后再进入另一个页面,需要检查它。点击超级链接调用php

例如:

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

谢谢

+2

PHP在服务器上工作,超链接在客户端浏览器 – zerkms 2012-03-08 19:55:46

+0

@zerkms我知道,可以使用什么替代方法? – user1203861 2012-03-08 19:58:11

回答

0

你将不得不建立后张贴到一个网页,其中包括PHP函数。这完全是因为PHP运行在服务器而不是客户端。

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='); 
} 

如果用户登录,他会看到的内容,否则,他将被重定向到登录... 不能使用客户端(出于安全原因做以另一种方式)

2

这听起来像你想要的东西是这样的:

  1. 用户点击一个链接
  2. PHP检查,看他们是否在
  3. 如果是要登录,它引导他们到一个特定的页。 (如果没有,到不同的页面?)

所以才有链接带他们到一个PHP页面,为所欲为,你需要做的,看看他们在登录后,则:

if($loggedin) { 
    header(' Location:http://yoursite.net/page_you_requested.html '); 
} 
else { 
    header(' Location:http://yoursite.net/login_page.html '); 
}  
0

您描述的内容需要在服务器上检查登录状态,然后重定向到其他页面的php脚本。我会建议一个更好的替代方法。

创建一个php“安全”脚本。它所做的只是检查登录状态。如果您已登录,请继续执行;如果你不是,die()或重定向到错误/登录页面。

在需要登录的所有页面中,包含安全脚本。然后像往常一样链接到这些页面。如果用户登录您的链接按预期工作,并且不需要额外的技巧导航。一定要为用户提供一个登录页面,以便他们在浏览您的网站时拥有良好的体验。

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。请仔细阅读并理解服务器端和客户端,以便更好地理解。