ホームページ >バックエンド開発 >PHPチュートリアル >php sessionの使い方を教えます_PHPチュートリアル
PHP セッションの使用法は、実際には非常に簡単です。セッション内でユーザーが送信したデータをグローバル変数の形式で保存し、一意の session_id を生成します。これは、セッション内の同じブラウザーと同じサイトでの混乱を避けるためです。 session_id は 1 つだけです。 session_id の使用方法を見てみましょう。
セッションの使用方法、セッションに関連するものはすべて、その前に関数 session_start() を呼び出す必要があります。
セッションへの値の割り当ては、次のように非常に簡単です。
?>
変数がセッション変数として登録されているかどうかを確認します session_is_registered
session_id($sessionID); //取得したセッションIDを設定するにはsession_id()を使用します
?>
// 1 日保存します
$lifeTime = 24 * 3600;
setcookie(session_name( ), session_id (), time() + $lifeTime, "/");
?>
session_start(); //セッションを開始します
$username='nostop';
session_register('username') //usernameという名前の変数を登録します
echo '登録されたユーザー:'.$_SESSION[ 'username ']; //登録ユーザー: nostop セッション変数を読み取ります
$_SESSION['age']=23; //年齢という名前の変数を宣言し、値を代入します
echo 'Age:'.$_SESSION['age'] //年齢: 23
session_unregister('username'); //セッション変数の登録を解除します
echo $_SESSION['username'] //Empty
echo $_SESSION['age'];//23
unset($_SESSION['age']); //セッション変数
echo '登録ユーザー:'.$_SESSION['ユーザー名'] //Empty
echo '年齢:'.$_SESSION['年齢' ]; //空
?>
1: Session_Start() を呼び出す前に出力を行うことはできません。たとえば、以下は間違っています。
1 行目
2 行目 3 行目 Session_Start();//最初の行の前の
4 行目....
5 行目 ?>
「....headers 既に送信されました....」が表示される場合は、Session_Start() の前に情報がブラウザに出力されていることを意味します。
出力を削除すれば正常になります。 COOKIE のようなエラー、エラーの理由は同じです)
Session_Start() がループ ステートメント内に配置されており、情報が以前にブラウザーに出力された場所を特定するのが難しい場合は、次のメソッドを使用できます:
Line 1
... ..これがあなたのプログラムです...
2: このエラーは何ですか
セッション ファイルのストレージ パスが指定されていないためです。
(1) Cドライブにフォルダーtmpを作成します
(2) php.iniを開き、session.save_pathを見つけて、session.save_path= "c:/tmp"に変更します