最近我参与了一个小项目,我很快就会解释这个想法。
我有一个页面显示数据库中的一些内容,只要它是来自数据库的内容,它就会显示给拥有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>
答案 0 :(得分:0)
如果您希望将它们重定向到main.php(如标记所示),则需要使用以下内容:
header('Location: main.php');
从您的脚本输出任何内容之前。有关php标头的更多信息,请参阅this
您的else if
将成为:
else if ($_SESSION['valid_user'] == 'main-user') {
header('Location: main.php');
}