0

在玩弄了大家给我的所有帮助的脚本之后,我遇到了另一个问题,当我点击登录表单上的登录时,它说:The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. 现在我承认我不是脚本专家,但这是我唯一能做的脚本了解如何在外部站点上使用 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>

主文件

<?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")

?>

PS有人在我关于这个的最后一个问题中提出了一些关于使用MySQLi而不是mysql_query的内容,我应该在ob_end_flush某个地方放置一个?

4

1 回答 1

0

尝试使用 ob_start(); 就在之后

例如<?php ob_start();

于 2013-05-28T09:46:08.113 回答