[英]how to redirect user to particular link after login in php
我想知道如何在php登录后将用户重定向到特定链接
例如在电子商务网站中,如果用户单击“添加到购物车”按钮,并且该用户未登录,则该用户将被重定向到登录页面,登录后用户将被重定向到请求页面的购物车页面,因此,我想知道如何为此编写代码。
if(!empty($_SESSION['username']))
{
$url=' .php';//here i want dynamic link which is requested page link when user tries to access
}
else
{
$url='login.php';
}
首次检查用户是否登录
if(isset($_SESSION['username'])){
$url='cart.php';
}else{
$url='login.php';
}
<a href="<?php echo $url; ?>">add to cart</a>
您必须传递变量以供参考,以了解您来自哪个页面。
您必须为此使用header()
。
session_start();// beginning of your file.
if(user is logged in) {
start checking for conditions here.
if($_GET['from'] == "checkout"
$file="checkout.php";
else
$file="index.php";
header("Location: $file");// file to which you want to redirect after login.
} else {
// redirect to login page.
}
您可以从您要访问的页面进入该页面,然后检查用户是否已登录,然后确定重定向到的位置。
首先,您可能比花时间在StackOverflow中键入它并等待监视响应要快得多,但是对于谁说呢。 也许您的浏览器已经在此页面上打开,并且您正在使用旧的拨号调制解调器,所以加载新的非缓存内容非常慢。
您可以尝试以下一种方法:
header('Location: http://www.example.com/');
在这里,您可以找到免费书籍的有用链接: https : //stackoverflow.com/tags/php/info
登录表单
<form action="loginchk.php" method="post">
<input type="text" name="unm" id="unm" />
<input type="password" name="pwd" id="pwd" />
<input type="hidden" name="redirect_url" value="<?php echo basename($_SERVER['PHP_SELF']); ?>" />
<input type="submit" value="Login" />
</form>
loginchk.php
<?php
if(!empty($_POST)){
extract($_POST);
//sql query
if(//true condition){
header("location:".$redirect_url);
} else{
header("location:login.php");
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.