セッション変数を正しく渡すにはどうすればよいですか?

shensw

私はPHPに本当に慣れていないので、この質問で言及されている単純なキャプチャを使用しようとしています。PHP用の数値キャプチャ

私がやろうとしているのは$_SESSION['captcha']、現在のページにを渡すことです。これにより、「フォーム」を通過することになっている、入力したばかりの入力と比較できます。

これが私のコードです:

<?php 
    if(isset($_POST['captcha'] ,$_SESSION['captcha'])) {
        if ($_POST['captcha'] == $_SESSION['captcha'])
            echo 'YES, YOU DID IT';
    }
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>captcha test</title>
</head>

<body>

<form name="input" action="index.php" method="POST">
<img src="captcha.php">
Enter the code above: <input type="text" name="captcha">
<input type="submit" value="Submit">
</form>


</body>
</html>

これを行う正しい方法は何ですか?現在のコードにキャプチャを実装するにはどうすればよいですか?

ジャコモ1968

ここで修正されたいくつかの事柄:

  • まず、session_start()実際に$_SESSION値を取得するためにを使用しませんでしたここに追加されました。
  • 次に、!empty()に加えてを使用して、値が空でないかどうかを確認する必要がありますisset()ここにも追加されました。
  • 最後に、の===代わりに比較演算子を使用することをお勧めします==一方で==値が同じであるかどうかを確認します、===彼らは同じと同じデータ型をしているかどうかをチェックします。

クリーンアップされたコードは次のとおりです。

<?php 

    session_start();
    if (isset($_POST['captcha'], $_SESSION['captcha']) &&
        !empty($_POST['captcha']) && !empty($_SESSION['captcha'])) {
            if ($_POST['captcha'] === $_SESSION['captcha']) {
              echo 'YES, YOU DID IT';
            }
    }
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>captcha test</title>
</head>

<body>

<form name="input" action="index.php" method="POST">
<img src="captcha.php">
Enter the code above: <input type="text" name="captcha">
<input type="submit" value="Submit">
</form>


</body>
</html>

それでもうまくいかない場合は、の値をダンプして$_POST、次の$_SESSIONようにして、何が得られているかを確認できます。

echo '<pre>';
print_r($_POST);
echo '</pre>';

echo '<pre>';
print_r($_SESSION);
echo '</pre>';

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

GoでMongoDBセッションを正しく操作するにはどうすればよいですか?

分類Dev

sshdの環境から新しいSSHセッションに環境変数を渡すにはどうすればよいですか?

分類Dev

javascript変数をphpセッション変数に保存するにはどうすればよいですか?

分類Dev

asp:DropDownList SelectedValueをセッション変数に設定するにはどうすればよいですか?

分類Dev

djangoでセッション変数を削除するにはどうすればよいですか?

分類Dev

PHPで特定のセッション変数を破棄するにはどうすればよいですか?

分類Dev

バックグラウンドセッション構成でiOS上でApolloGraphQLを正しく使用するにはどうすればよいですか?

分類Dev

セッションに保存されたユーザー名を cookie と一緒に正しく設定するにはどうすればよいですか?

分類Dev

startup-ipiを正しく使用してアプリケーションプロセッサを起動するにはどうすればよいですか?

分類Dev

セッション変数の値を取得してコントローラー変数に設定するにはどうすればよいですか?

分類Dev

変数をアクションリスナーに渡すにはどうすればよいですか?

分類Dev

EJBステートレスセッションBeanをWebモジュールに正しく挿入するにはどうすればよいですか?

分類Dev

OpenMPでセクションのロックを正しく使用するにはどうすればよいですか?

分類Dev

このPowerShellWebリクエストでセッションを正しく保存するにはどうすればよいですか?

分類Dev

httpセッションをDeferredResultに渡すにはどうすればよいですか?

分類Dev

HTMLでJQueryを使用してセッション変数を取得および設定するにはどうすればよいですか?

分類Dev

あるセッション(Powershell ISEタブ)の変数を別のセッションで使用するにはどうすればよいですか?

分類Dev

phpを使用して別のページのセッション変数にアクセスするにはどうすればよいですか?

分類Dev

javascriptを使用してセッション変数を設定し、phpコードを介して取得するにはどうすればよいですか?

分類Dev

サーブレットでセッション変数を設定してJSPで取得するにはどうすればよいですか?

分類Dev

CodeIgniterのビューからコントローラーにPOST変数を正しく渡すにはどうすればよいですか?

分類Dev

シークレットbashセッションを開くにはどうすればよいですか?

分類Dev

連想配列から選択したIDをRailsセッション変数に保存するにはどうすればよいですか?

分類Dev

Gnome Panelから起動したEmacsセッションで環境変数を設定するにはどうすればよいですか?

分類Dev

Crispyフォームを使用して入力テキストにセッション変数を入力するにはどうすればよいですか?

分類Dev

Start-Processを使用してセッションでローカルPowerShell変数を使用するにはどうすればよいですか?

分類Dev

C#Netでセッションをdoubleに変換するにはどうすればよいですか?

分類Dev

PowerShellでタプルのハッシュセットを正しく作成および変更するにはどうすればよいですか?

分類Dev

Laravel-変数をブレードのセクションに1行で渡すにはどうすればよいですか?

Related 関連記事

  1. 1

    GoでMongoDBセッションを正しく操作するにはどうすればよいですか?

  2. 2

    sshdの環境から新しいSSHセッションに環境変数を渡すにはどうすればよいですか?

  3. 3

    javascript変数をphpセッション変数に保存するにはどうすればよいですか?

  4. 4

    asp:DropDownList SelectedValueをセッション変数に設定するにはどうすればよいですか?

  5. 5

    djangoでセッション変数を削除するにはどうすればよいですか?

  6. 6

    PHPで特定のセッション変数を破棄するにはどうすればよいですか?

  7. 7

    バックグラウンドセッション構成でiOS上でApolloGraphQLを正しく使用するにはどうすればよいですか?

  8. 8

    セッションに保存されたユーザー名を cookie と一緒に正しく設定するにはどうすればよいですか?

  9. 9

    startup-ipiを正しく使用してアプリケーションプロセッサを起動するにはどうすればよいですか?

  10. 10

    セッション変数の値を取得してコントローラー変数に設定するにはどうすればよいですか?

  11. 11

    変数をアクションリスナーに渡すにはどうすればよいですか?

  12. 12

    EJBステートレスセッションBeanをWebモジュールに正しく挿入するにはどうすればよいですか?

  13. 13

    OpenMPでセクションのロックを正しく使用するにはどうすればよいですか?

  14. 14

    このPowerShellWebリクエストでセッションを正しく保存するにはどうすればよいですか?

  15. 15

    httpセッションをDeferredResultに渡すにはどうすればよいですか?

  16. 16

    HTMLでJQueryを使用してセッション変数を取得および設定するにはどうすればよいですか?

  17. 17

    あるセッション(Powershell ISEタブ)の変数を別のセッションで使用するにはどうすればよいですか?

  18. 18

    phpを使用して別のページのセッション変数にアクセスするにはどうすればよいですか?

  19. 19

    javascriptを使用してセッション変数を設定し、phpコードを介して取得するにはどうすればよいですか?

  20. 20

    サーブレットでセッション変数を設定してJSPで取得するにはどうすればよいですか?

  21. 21

    CodeIgniterのビューからコントローラーにPOST変数を正しく渡すにはどうすればよいですか?

  22. 22

    シークレットbashセッションを開くにはどうすればよいですか?

  23. 23

    連想配列から選択したIDをRailsセッション変数に保存するにはどうすればよいですか?

  24. 24

    Gnome Panelから起動したEmacsセッションで環境変数を設定するにはどうすればよいですか?

  25. 25

    Crispyフォームを使用して入力テキストにセッション変数を入力するにはどうすればよいですか?

  26. 26

    Start-Processを使用してセッションでローカルPowerShell変数を使用するにはどうすればよいですか?

  27. 27

    C#Netでセッションをdoubleに変換するにはどうすればよいですか?

  28. 28

    PowerShellでタプルのハッシュセットを正しく作成および変更するにはどうすればよいですか?

  29. 29

    Laravel-変数をブレードのセクションに1行で渡すにはどうすればよいですか?

ホットタグ

アーカイブ