ここから本文です

解決済みのQ&A

PHPのセッションについて教えてください!!

kidth_everさん

PHPのセッションについて教えてください!!

PHPでセッションを使ったプログラムで、

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\phpdogs\check.php:1) in C:\xampp\htdocs\phpdogs\check.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\phpdogs\check.php:1) in C:\xampp\htdocs\phpdogs\check.php on line 2

というエラーがでてしまいます。。現在ソースコードは

_______________________________________________________________________________________________________________________________________
<?php
session_start();
?>
<HTML>
<HEAD>
<META http-equiv = "Content-Type" Content = "text/html;charset=UTF-8">
<TITLE>認証</TITLE>
</HEAD>
<BODY>

<?php
$staff_id = $_POST["staff_id"];
$password = $_POST["password"];

if($staff_id != ""){
if($password != ""){

$_SESSION['staff_id'] .= $_POST['staff_id'];
$_SESSION['password'] .= $_POST['password'];

print("認証が完了しました。");
print("メニュー画面におすすみください。⇒ <a href =\"menu.html\">メニュー画面へ</a>");


}else{
print("パスワードが未入力です。<br>");
print("<a href =\"index.html\">ログイン画面へ</a>");
}
}else{
print("社員IDが未入力です。<br>");
print("<a href =\"index.html\">ログイン画面へ</a>");
}

?>
</BODY>
</HTML>
________________________________________________________________________________________________________________________________________


となっています。他の方の質問を参考にすると、session_start(); の前に出力をしていたりするとこのエラーがでるらしいのですが、
そのようなことはなく、無駄な空白、改行などはありません。php.iniファイルの session.use_trans_sid = on にしてあります。


何が原因なのでしょうか???回答お願いします。

  • 質問日時:
    2007/12/13 10:00:58
  • 解決日時:
    2007/12/13 18:14:57
  • 閲覧数:
    17,041
    回答数:
    1
  • お礼:
    知恵コイン
    500枚

ベストアンサーに選ばれた回答

albino_maidenさん

Windowsのメモ帳などでUTF-8で保存すると、ソースの最初にBOM (EF BB BFの3バイト)が
挿入されてしまうので、PHPから既にデータが出力された状態になっています。
使用しているエディタで最初にBOMを付けないUTF-8Nで保存する設定にできれば
UTF-8Nにしてください。不可能な場合はSJISでやってみるといいと思います。

質問した人からのお礼

  • 成功そーだったんですか;
    アドバイスを聞いて文字コードを変更した結果エラーがなくなりました!!
    ほんとにありがとうございます!!
    チップ500枚持ってってください♪♪
  • コメント日時:2007/12/13 18:14:57

グレード

Q&Aをキーワードで検索:

総合Q&Aランキング

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。

知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する