ログイン中に別のページに移動すると、このエラーが発生し続けます。
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/63/10400363/html/SeniorProject/update.php:5) in /home/content/63/10400363/html/SeniorProject/update.php on line 6
また、(ログインしていないときに) update.php を直接呼び出すと、フォームが表示されず、ログイン ページに戻るようになっています。私はこれに何時間も費やしましたが、何が間違っているのかわかりません。どんな助けでも感謝されます。
これが私のコードです:LOGIN.PHP
<?php
session_start();
require("passwords.php");
?>
<?php
function redirect(){
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=update.php">';
exit;
};
if ($_POST["ac"]=="log") { /// do after login form is submitted
if ($USERS[$_POST["username"]]==$_POST["password"]) { /// check if submitted
// username and password exist in $USERS array
$_SESSION["logged"]=$_POST["username"];
} else {
echo 'Incorrect username/password. Please, try again.';
};
};
if (array_key_exists($_SESSION["logged"],$USERS)) { //// check if user is logged or not
echo '<center><font color="red">You are logged in.</font></center>';
echo '<center><font color="red">You will be redirected to the correct page in 3 seconds.</font></center>';
echo "Your session is running " . $_SESSION["logged"];
} else { //// if not logged show login form
echo '<form action="login.php" method="post"><input type="hidden" name="ac" value="log"> ';
echo 'Username: <input type="text" name="username" />';
echo 'Password: <input type="password" name="password" />';
echo '<input type="submit" value="Login" />';
echo '</form>';
};
?>
UPDATE.PHP
<?php
session_start();
require("passwords.php");
check_logged();
?>
<?php
'<p align="center">
<h1>UPDATE RECORDS</h1>
<form method="post" action="doupdate.php">
<fieldset>
<legend> Update Form: </legend>
<font color="red">PROF. ID*</font> <br>
<input name="id" type="text" size="50" /><br>
<font color="red">BUILDING* </font> <br>
<input name="building" type="text" size="50" /><br>
<font color="red">ROOM NUM* </font> <br>
<input name="roomNum" type="text" size="50" /><br>
<font color="red">OFFICE HR* </font> <br>
<input name="officeHr" type="text" size="50" /><br>
<font color="red">SPECIAL REMARKS </font> <br>
<input name="special" type="text" size="50" /><br><br>
<input name="submit" type="submit" value="submit" />
</fieldset><br><br>
</form>
<font color="red">* REQUIRED FIELDS<br>
OFFICE HOURS UPDATED IN FOLLOWING FORMAT:<br>
M/TH 00:00-11:11</font><br>
</html>';
echo "Your session is running " . $_SESSION["logged"];
?>
パスワード.PHP
//OMITTED PASSWORDS ARRAY HERE
//OMITTED PASSWORDS ARRAY HERE
//OMITTED PASSWORDS ARRAY HERE
//OMITTED PASSWORDS ARRAY HERE
function check_logged(){
global $_SESSION, $USERS;
if (!array_key_exists($_SESSION["logged"],$USERS)) {
header("Location: login.php");
};
};