1

即使我输入了正确的用户名和密码数据,我的登录页面也不会将我重定向到下一个网页。

当我检查 config.inc 并将其设置为 config.php

它不会在网页上显示任何内容。

有什么建议么

配置公司

 $con=mysqli_connect("localhost","root@localhost","","test");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

登录过程页面

<?php

// Inialize session
session_start();

// Include database connection settings
include('config.inc');

// Retrieve username and password from database according to user's input
$login = mysql_query("SELECT * FROM users WHERE (username = '" . mysql_real_escape_string($_POST['username']) . "') and (password = '" . mysql_real_escape_string(md5($_POST['password'])) . "')");

// Check username and password match
if (mysql_num_rows($login) == 1) {
// Set username session variable
$_SESSION['username'] = $_POST['username'];
// Jump to secured page
header('Location: securedpage.php');
}
else {
// Jump to login page
header('Location: index.php');
}

?>

安全页面.php

<?php

// Inialize session
session_start();

// Check, if username session is NOT set then this page will jump to login page
if (!isset($_SESSION['username'])) {
header('Location: index.php');
}

?>
<html>

<head>
<title>Secured Page</title>
</head>

<body>

<p>This is secured page with session: <b><?php echo $_SESSION['username']; ?></b>
<br>You can put your restricted information here.</p>
<p><a href="logout.php">Logout</a></p>

</body>

</html>
4

3 回答 3

0

您的表单是在同一个登录页面还是单独的页面中?如果它在同一个登录页面中,请尝试使用if ($_POST['submit'])然后运行您的代码。如果它在一个单独的页面中,请确保在您的表单操作中您有登录页面的路径。

于 2013-05-21T01:59:58.287 回答
0

还要检查文件中是否有任何 BOM unicode,这通常是编辑器应用程序中的一个选项,我建议您注释标头函数并使用 echo 来检查 if 或 else 是否正在执行

于 2013-05-21T01:39:28.673 回答
0

确保在 header 函数之前没有输出任何内容,包括 PHP 文件中的任何空格和任何包含的 PHP 文件

于 2013-05-21T01:28:12.340 回答