0

ここに画像の説明を入力session_start(); に関連するトピックを確認しました。私を助けることができるものを見つけることができませんでした

  session_start();
  include "databaseregistration.php";
  include "check_function.php";
  session_check();  

check_function.php が含まれています (どこが間違っているかを確認するための簡略化されたコード)

   <?php
   function session_check(){
if(!isset($_SESSION['user_title'])){
echo "error";
    }
    else{
    echo "pass";
    }
    }?>

今私が得ているエラーは

 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at F:\xampp\htdocs\ourwork\proper pages\homef.php:1) in F:\xampp\htdocs\ourwork\proper pages\homef.php on line 2

まだヘッダーを送信していないことがわかります。session_start(); を削除するたびに。警告が消えた

コードに含まれていないときにヘッダーを送信するのはなぜですか......ここで助けが必要です:(

4

4 に答える 4

1

すべての出力は、ブラウザにヘッダーを送信します。出力は、 whitespace を含むほとんどすべてです。最も一般的な間違いは、php の開始タグ ( <?php) の前にスペース、改行、またはタブがあることです。session_start()何かがブラウザに送信される前に、 が呼び出されていることを確認してください。

このsession_start()関数は、ヘッダーに情報を追加して、ユーザーのブラウザーに Cookie を保存します。Cookie には、必要な情報を取得するためにセッション ID が保存されます。

于 2013-11-04T11:55:31.527 に答える
0

ファイル?>からファイナルを削除してみてください。check_function.php必須ではなく、誤ってスペースや改行を後ろに置くことができます

?>囲まれている場合、PHP はファイルの終わりを終了として解釈します。<?php

于 2013-11-04T12:08:46.000 に答える
0

GordonM と Oswald に感謝します。メモ帳 ++ で「エンコーディング」を確認し、エンコーディングを BOM なしの UTF に変更すると、問題が解決しました:)

于 2013-11-04T13:49:09.043 に答える
0

の1行目で何かを出力していF:\xampp\htdocs\ourwork\proper pages\homef.phpます。

開始前の空白とバイトオーダーマーク<?phpも出力と見なされることに注意してください。

于 2013-11-04T11:56:31.203 に答える