3

ユーザーがデータベースにログインした後、彼は index.php にリダイレクトされるはずですが、「ヘッダー情報を変更できません - ヘッダーは既に送信されました (出力開始...)」という警告メッセージが表示されます。

これは私の入力フォームです:

<form action="login.php" method="post">
<div id="header"><h2 class="sansserif">Login</h2></div>
<table>

    <tr>
        <td>Enter Username:</td>
        <td> <input type="text" name="username" size="20"></td>
    </tr>

    <tr>
        <td>Enter Password:</td>
        <td><input type="password" name="password" size="20"></td>
    </tr>
    <tr>
         <td><input type="submit" value="Log In"></td>
         <td><a href="signup.html">Sign Up</a></td>
   </tr>
 </table>
</form>

これは私のコードです:

<?php 
include("configuration.php"); 
$username = $_POST["username"];
$password = $_POST["password"];
$match = "select id from $table where username = '".$_POST['username']."'and password =         '".$_POST['password']."';"; 
$qry = mysql_query($match);
$num_rows = mysql_num_rows($qry); 
if ($num_rows <= 0) { 
echo "Sorry, there is no username $username with the specified password.";
echo "Try again";
exit; 
} else {
$_SESSION['user']= $_POST["username"];
header("Location:index.php");
}?>
4

2 に答える 2

0

PHP タグの前後に空白がないことを確認してください。最初に 3 つのスペースがあり、「ヘッダー情報を変更できません」の原因となっている可能性があります。

于 2013-04-21T14:32:34.447 に答える
0

最初に header() 関数にコメントを付けて、ブラウザに出力があるかどうかを確認してください。configuration.php を何もチェックしない場合は、何かがエコーまたは出力されている可能性があります。

于 2013-04-21T15:19:31.790 に答える