2

添付の私のコードを見つけてください:

<?PHP 
session_start();
if (isset($_POST["usernameform"])){ 

$username = $_POST['usernameform'];
$password1 = $_POST['passwordform'];


$user_name = "XXXX";
$password = "XXXXX";
$database = "XXX";
$server = "XXXX";

$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);


$SQL = "SELECT * FROM login WHERE Username = '$username' AND Password = '$password1' "; //grab all the records from table
$result = mysql_query($SQL)
    or die("Error:" . mysql_error());

if (mysql_num_rows($result) > 0){ //if username and password match return number of rows is always 1

$_SESSION['login'] = $username; //by placing this in session it will remember this variable on the page it directs too

while ( $row = mysql_fetch_assoc($result) ){ //lays out array in $result
$_SESSION['ID'] = $row['ID']; //selects from list of array ID
$_SESSION['firstname'] = $row['First_Name'];
echo'<script> window.location="page1.php"; </script> ';

}
} else {
$_SESSION['login'] = '';
print('
<script type="text/javascript"> //place html script for alert. Use single comma for print command here.
    alert("Sorry, your username or password could not be recognized")
</script>
');
session_destroy();
}
}
?>

コードはローカルホスト(wampserver)で完全に機能しますが、ホストでは機能せず、エラーが発生します。

警告:session_start()[function.session-start]:セッションCookieを送信できません-2行目の/.../vhindex.phpの(出力は/.../vhindex.php:1で開始)によってすでに送信されたヘッダー

警告:session_start()[function.session-start]:セッションキャッシュリミッターを送信できません-2行目の/.../vhindex.phpで既に送信されたヘッダー(出力は/.../vhindex.php:1で開始)

session_start();コードはPHPブロックの先頭に配置されており、HTML出力が作成される前に、完全に困惑しています。

何か案は?

4

2 に答える 2

8
  • Notepad ++をダウンロードしてそこにファイルを開き、前にすべての派手な文字を削除します<?PHP
  • の前に「」やタブ、改行などの空白文字がないことを確認してください<?PHP
    • Notepad ++で、をクリックEncodingUTF-8 without BOMてから、ファイルをBOMなしでUTF-8に変換し、保存します。
  • また、安全のためにob_start();前に追加してください。session_start();
于 2013-03-12T16:55:16.887 に答える
-1

この-.phpファイルをvhindex.phpからロードする場合。これが正しい順序で行われていることを確認してください。例えば。require_once'handle-user-login.php'; callToYourFunction();

セッションがすでに送信されている場合は、この警告が表示されます。(ええ、エラーコードが言うように)。

于 2015-02-10T13:36:08.513 に答える