我有一个连接MySQL DB的HTML / CSS / PHP简单页面。
“index.php”已加载,“mainPage :: showSectionLogin($ _ SESSION ['login'])”显示记录表单
<?php session_start(); ?>
<?php require_once 'clMainPage.php'; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<?php mainPage::setSectionHEAD() ?>
<LINK rel="stylesheet" type="text/css" href="style.css">
</HEAD>
<BODY>
<DIV id="sidebar">
<?php mainPage::showSectionLogin($_SESSION['login']) ?>
<?php mainPage::showSidebarMenu($_SESSION['login']) ?>
</DIV>
<DIV id="main">
<?php mainPage::showActualNews(5) ?>
</DIV>
</BODY>
</HTML>
填写日志表单后执行“login.php”
<?php session_start(); ?>
<?php require_once 'clMainPage.php'; ?>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
$dblink = mainPage::openDBconn();
$result = mainPage::checkIfUserCanLogIn($dblink, $_POST['inpLogin'], $_POST['inpPassw']);
if (mysql_num_rows($result) == 1) {
$row = mysql_fetch_array($result);
mainPage::logUserIn($row['login'], $row['passw']);
}
else
{
die("error checking user: there is no such user in a database");
}
mainPage::closeDBconn($dblink);
header("refresh:1;url=index.php");
} ?>
我没有理解为什么在登录时“header(”refresh:1; url = index.php“);” (第18行)说“require_once”clMainPage.php';“在文件“login.php”(第2行)中发送标题。怎么可能“require_once'clMainPage.php';”,这是一个只包含静态函数的类声明,实际上是发送头文件?
答案 0 :(得分:5)
在第1行关闭php标记后有空格,这就是发送标题
的内容<?php
session_start();
require_once 'clMainPage.php';
if($_SERVER["REQUEST_METHOD"] == "POST") {
答案 1 :(得分:1)
在< ?php
之前/之后是否有任何空格/输出。这通常是原因。
'clMainPage.php'包含什么?