MySQL DBに接続するHTML/CSS/PHPの簡単なページがあります。PHP - 読み込み静的クラスはヘッダを送信します
"index.phpのは、" ロードされ、 "メインページ:: showSectionLoginを($ _ SESSION [ 'ログイン'])" フォーム
をログに記録する番組<?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';"は、静的関数のみを含むクラス宣言で、実際にヘッダーを送信するのはどうでしょうか?
clMainPage.php' 'に何を送る何ですか?空白やエラーによってヘッダーが送信される可能性があります... – BoltClock
session_start()もヘッダーを送信します –
@Shakti Singh、 'session_start()'はヘッダーを送信しますが、後でヘッダーのリダイレクトを行うことができますこれらのヘッダーは、レンダリングするために何もブラウザに送られなかったので送信されます。この例では、 '?>'の後の空白 '\ r \ n'がブラウザに送信されています。 –