登录后需要所需的PHP页面

时间:2014-02-16 17:49:00

标签: php redirect logging

最近我参与了一个小项目,我很快就会解释这个想法。

我有一个页面显示数据库中的一些内容,只要它是来自数据库的内容,它就会显示给拥有Pass和name以登录页面的特定用户。

进入页面时,它显示两个文本区域字段,需要输入Name和Pass,然后将表单传输到我的case member.php中调用的PHP文件,后者又需要访问数据库,检查pass和name的有效性,如果正确则依次需要主页面,在我的案例main.php中调用。

但是在浏览器的地址栏中仍然显示member.php而不是main.php。

你能帮我解决这个问题吗?

member.php的代码示例:

<html>
<head><meta charset="utf-8">

</head>
<body>
<?PHP 

session_start();

  require('function.php');
  require('valid.php');
  db_connect();
  if (isset($_POST['username']) && isset($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];

if ($username && $password) {
// they have just tried logging in
  try  {
    login($username, $password);
    // if they are in the database register the user id
    $_SESSION['valid_user'] = $username;
  }
  catch(Exception $e)  {
    // unsuccessful login

    echo 'You could not be logged in.
          You must be logged in to view this page.';
    exit;
  }
}
};
 if (isset($_SESSION['valid_user'])) {
    $username = $_SESSION['valid_user'];
  if ($_SESSION['valid_user'] == "owner") {
        require('owner.php');
        admin();
        ?>


<?php
    } else if ($_SESSION['valid_user'] == 'main-user') {

     require('main.php');



    }
     else if ($_SESSION['valid_user'] == $username) {

        require('user.php'); 
        check_valid_user();
        ?>

       <?php
} else {
    echo " YOU MUST LOG IN TO VIEW THIS PAGE";
}
} else {
    echo "YOU MUST LOGIN TO VISIT THIS PAGE";
}
?>

</body>

<html>

1 个答案:

答案 0 :(得分:0)

如果您希望将它们重定向到main.php(如标记所示),则需要使用以下内容:

header('Location: main.php');

从您的脚本输出任何内容之前。有关php标头的更多信息,请参阅this

您的else if将成为:

else if ($_SESSION['valid_user'] == 'main-user') {
    header('Location: main.php');
}