ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp セッションが確認コードを取得できません
thinkphp セッション検証コード
。 public function verify(){以下は、index.php の内容です
define('APP_NAME','Myapp') あと一つは、メソッド内でセッションを代入して取得すると出力できるのですが、他のメソッドにジャンプすると取得できないことです。サーバーに再ログインするようなものです。セッションは空です。
19.1 セッションサポート
システムはセッションの管理と操作を完全にサポートしており、すべての操作は組み込みのセッション機能を通じて完了できます。
セッションは、セッションの設定、取得、削除、管理操作に使用されます
使用法
session($name, $value='')
パラメータ
name (必須): 配列が渡された場合、セッションの初期化を意味しますnull を入力することは、現在のセッションをクリアすることを意味します。文字列の場合は、セッションの割り当て、取得、または操作を意味します。
値 (オプション): 設定されるセッション値。null が渡された場合、デフォルトは空の文字列です
戻り値
詳細を参照 (特定の使用法に従って異なる値を返します)。
セッション関数は、次の関数を含む、さまざまなパラメーターを渡すことでさまざまな機能操作を完了できる多様な操作関数です。
セッション初期化設定
セッション メソッドの name パラメータが配列に渡される場合、それはセッション初期化設定を意味します。例:
session(array('name'=>'session_id','expire'= >3600)) ;
サポートされる受信セッション パラメータは次のとおりです:
パラメータ名
説明
id
session_id 値
名前
session_name 値
パス
session_save_path 値
プレフィックス
セッション ローカリゼーション スペース プレフィックス
有効期限切れ
session.gc_maxlifetime 設定値
ドメイン
session.cookie_domain 設定値
use_cookies
session.use_cookies 設定値
use_trans_sid
session.use_trans_sid 設定値
タイプ
セッションハンドラタイプ、ハンドラドライバ拡張機能を使用できます
セッション初期化設定メソッド 手動で呼び出す必要はありません。通常、プロジェクトは SESSION_OPTIONS パラメータを設定するだけで済みます。サポートされているインデックスは、です。名前は前のセッション初期化パラメータと同じです。
デフォルトでは、システムは初期化後にセッションを自動的に開始します。システムがセッションを自動的に開始しないようにするには、SESSION_AUTO_START を false に設定します。たとえば、次のように設定します。自動起動をオフにするには、プロジェクト ファイルのパブリック設定を設定するか、コントローラーで session_start または session('[start]') を手動で呼び出してセッションを開始できます。
セッションの割り当て
セッションの割り当ては比較的簡単で、直接使用します:
session('name','value'); value = session('name');
session deletion
session( 'name',null); // 名前を削除します
すべてのセッションを削除するには、以下を使用できます:
session(null) // 現在のセッションをクリアします
セッションの値が存在するかどうかを判断します。設定されている場合は、
session('?name'); を使用できます
セッション管理
name という名前のセッション値が設定されているかどうかを判断するために使用されます。 session メソッドは、いくつかの簡単なセッション管理操作をサポートします。
session('[操作名]');
サポートされる操作名は次のとおりです:
操作名
意味
start
セッションの開始
一時停止
セッションの書き込みの一時停止
破棄
セッションの破棄
regenerate
セッション ID を再生成
使用例は次のとおりです。
session('[pause]'); // セッションの書き込みを一時停止します
session( '[start]'); // セッションを開始します
session( '[destroy]'); // セッションを破棄
session('[regenerate]'); // セッション ID を再生成
ローカリゼーション サポート
セッション設定の初期化時にプレフィックス パラメータを渡す場合、 SESSION_PREFIX パラメータを個別に使用すると、ローカライズされたセッション管理サポートを有効にすることができます。ローカライズされたセッションを開始すると、すべての割り当て、値の取得、削除、および判定の操作が自動的にローカライズされたセッションに対応します。
ローカライズされたセッションのサポートがオンになった後、生成されるセッション データ形式は元の
$_SESSION['name'] から $_SESSION['prefix'] ['name'] に変更されます
セッション ハンドラーのサポート
セッション設定を初期化するときに、type パラメーターが渡されると、対応するハンドラー ドライバーが自動的に導入されます。ドライバー拡張ディレクトリは、Extend/Driver/Session ディレクトリの下にあります (詳細については、拡張セクションを参照してください)。 。
これが鍵かもしれません
認証コードが生成されるたびに、この認証コードのmd5以降の文字列情報がSESSIONを通じて記録されるので、認証コードが正しいかどうかを確認するだけで済みます。次のコードを使用します:
if($_SESSION['verify'] != md5($_POST['verify'])) {
$this->error('検証コード エラー!'
}
ここでの検証名は、検証コードの verifyName パラメーターの値に依存することに注意してください。
session_start();
session_start(); php+mysql ではまだ役に立ちますが、デフォルトでは自動的に有効になります。
他の人が使用していたコンピューターはphp mysqlを使用していました。 。自分で設定します。統合開発環境wampを使用しているため、セッションを保存するパスがphp5以下となっており、セッションの読み込みでエラーが発生します。そこで、php5を削除し、サーバーセッションを再起動して、最終的に値を渡すことができました