1

我正在构建一个简单的网络应用程序。登录后,它应该将用户重定向到他们可以编辑的特定地图页面。每个地图的地址与用户名和密码一起存储在一个简单的数据库中。

以下是我用于登录的代码(登录表单位于 index.php 页面上)

我无法让重定向工作,“站点”是存储地址的行名。

include 'db_connect.php';
    include 'functions.php';
    sec_session_start(); // Our custom secure way of starting a php session. 

    if(isset($_POST['email'], $_POST['p'])) { 
       $email = $_POST['email'];
       $password = $_POST['p']; // The hashed password.
       if(login($email, $password, $mysqli) == true) {
          // Login success and shoud redirect to 'site'
        header("Location: '$site");
        } else {
      // Login failed
     header("Location: '..\..\..\?error=1");

   }
} else { 
   // The correct POST variables were not sent to this page.
   echo 'Invalid Request';
}
4

2 回答 2

2

在登录成功:

header("Location: '$site");
------------------^

那个单引号?去掉它。

登录失败:

 header("Location: '..\..\..\?error=1");
 ------------------^

也删除该单引号(Thx @Petr R.)并改用绝对路径,也许路径是错误的。使用类似的东西http://mysite.com/index.php?error=1


还要更具体地说明您的错误,我在重定向过于笼统时遇到了麻烦,它是否显示空白页?不加载?显示任何错误?

采用:

error_reporting(E_ALL);
ini_set('display_errors', 'On');

如果您在生产环境中,则显示您的错误。

于 2013-06-13T14:02:04.340 回答
0

$site没有被声明,这意味着它没有价值。

所以给$site一个值,它会起作用。

于 2013-06-13T13:59:39.453 回答