重定向到php中的登录页面

时间:2015-07-07 06:47:04

标签: php html mysql forms

我目前正在处理2个php页面。登录页面和客户门户页面(login.php和portal.php)。

我的login.php有一个FORM action="portal.php"。很明显,当验证用户的凭据时,它将进入portal.php页面。

但是,如果用户直接键入portal.php的URL,该页面将显示以下内容:

  

注意:未定义的索引:第10行的C:\ xampp \ htdocs \ ECMS \ portal.php中的USER注意:未定义的索引:PASS in   第10行的C:\ xampp \ htdocs \ ECMS \ portal.php

有没有办法我可以自动将页面重定向到login.php,而不是显示这些错误 - 假设他们还没有登录?

谢谢!

4 个答案:

答案 0 :(得分:0)

登录时设置SESSION,并在UPDATE shop_tshirts t JOIN shop_designs d ON t.design = d.design SET t.categorie = d.categorie WHERE t.design = 12345

的顶部检查以下内容
portal.php

答案 1 :(得分:0)

portal.php 页面中,检查请求是否 POST ,例如

if($_SERVER['REQUEST_METHOD'] == 'POST' || $_SERVER['REQUEST_METHOD'] == 'post' ) {
  // do your stuff
}
else{
   // redirect user to login page, if directly hit the page
   header('location:login.php');
}

您也可以使用会话来处理这种情况。希望它可以帮到你。

答案 2 :(得分:0)

只需在portal.php中添加验证即可。使用mysqli_num_rows之类的内容检查某人是否已连接,这些内容会计算返回的行数。因此,请检查是否没有返回行:

    if (mysqli_num_rows(mysqli_query($db,"Select User from table WHERE Something like '".User."'"))  == 0)
{
 // there is no user connected, so redirect him to the login.php
} else {
 // What to do if the user is connected
}

答案 3 :(得分:0)

在portal.php的开头,验证并检查post变量是否已设置且不为空。如果其中一个要求未满,请重定向到login.php页面

 if($_POST['username'] && $_POST['password'] matched with stored username &
 password AND !ISSET AND EMPTY)
 {    
     header("location:login.php");
 }

这样,你将实现两个目标:身份验证和重定向。

如果要在多个页面中保留用户名和密码,请将POST变量存储在SESSION变量中。您可以在此处阅读有关会话的http://www.w3schools.com/php/php_sessions.asp