在尝试了大家给我的所有帮助后,我遇到了另一个问题,当我单击登录表单上的“登录”时,它显示: 页面没有正确重定向 Firefox 已检测到服务器正在以永远不会完成的方式重定向对此地址的请求。
现在我承认我不是脚本专家,但这是我能找到的关于如何在外部站点上使用 phpbb 论坛数据库的唯一脚本。所以我的问题是我要向您展示的所有 .php 文件有什么问题以及如何修复它们?
登录.php
<?php
//ob
ob_start();
//session
session_start();
if (isset($_SESSION['username']))
{
header("Location: main.php");
exit();
}
//connect
$error = 'Zaoby Database ERROR! connection failture!';
mysql_connect('localhost','root','') or die ($error);
mysql_select_db('phpbbtest') or die($error);
//include functions.php php script
require 'forums/includes/functions.php';
if (isset($_POST['login']))
{
//get form data
$username = addslashes(strip_tags(strtolower($_POST['username'])));
$password = addslashes(strip_tags($_POST['password']));
if (!$username||!$password)
echo "please enter a username and password<p />";
else
{
//find username
$find = mysql_query("SELECT * FROM phpbb_users WHERE username_clean='$username'");
if (mysql_num_rows($find)==0)
echo "username not found<p />";
else
{
while ($find_row = mysql_fetch_assoc($find))
{
// grab password hash for user
$password_hash = $find_row['user_password'];
}
$check = phpbb_check_hash($password, $password_hash);
if ($check==FALSE)
echo "Incorrect password<p />";
else if ($check==TRUE)
{
$_SESSION['username']=$username;
header("Location: main.php");
exit();
}
}
}
}
?>
<form action="login.php" method="POST">
Username:<br />
<input type="text" name="username"><p />
Password:<br />
<input type="password" name="password"><p />
<input type="submit" name="login" value="Log in">
</form>
main.php
<?php
//ob
ob_start();
//session
session_start();
$session_username = $_SESSION['username'];
if (!isset($_session_username))
{
header("Location: login.php");
exit();
}
else
{
echo "hello, ".$_session_username." <a href='logout.php'>Log out</a>";
}
ob_end_flush();
?>
注销.php
<?php
session_start();
session_destroy();
header("Location: login.php")
?>
P.S 在我关于这个问题的最后一个问题中,有人提出了一些关于使用 MySQLi 而不是 mysql_query 的内容,并且我应该在某处放置一个 ob_end_flush
?
最佳答案
尝试使用ob_start();就在之后
例如<?php ob_start();
关于PHPBB登录脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16788764/