私は自分のホストサーバーをWindowsからLinuxシステムに変更しました。 、PHPセッションの開始「セッションのCookieとキャッシュリミッタを送信できません」
<?php
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
if ($username && $password)
{
$connect = mysql_connect(***,***,***);
mysql_select_db("phploginregister") or die("Couldn't find db");
$query = mysql_query("SELECT * FROM users WHERE username='$username'");
$numrows = mysql_num_rows($query);
if ($numrows != 0)
{
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
//check to see if they match!
if ($username == $dbusername && md5($password) == $dbpassword)
{
echo "You're in! <a href='member.php'>Click</a> here to enter the member page.";
$_SESSION['username'] = $dbusername;
}
else
echo "Incorrect password";
}
else
die("That user doens't exist!");
}
else
die("Please enter an username and password");
?>
コードで何が問題になっています:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/p/y/c/francis/html/login/login.php:2) in /home/content/p/y/c/francis/html/login/login.php on line 4
と
これは私のプログラムのコードです:私は私のPHPプログラムを実行するときしかし、私はこのエラーを取得しますそれはWindowsホスト上で正常に動作するためです...
このファイルはどこに置いていますか? 'session_start'の前に出力がないことを確認する必要があります。 Windowsサーバーに出力バッファリングが設定されている可能性があります。そのため、エラーは発生しませんでした。 –
おそらくBOMを扱っているでしょう:http://stackoverflow.com/questions/2558172/utf-8-bom-signature-in-php-files – Quasdunk
SOLVED!問題は、スクリプトの前に空白/改行がありました。 – francisMi