3

フォームを含むこのページがあります。値は、これらの値を操作POSTする次のページ ( ) に渡されます。check_values.php次に、キャプチャを追加します。しかし、フォームをにリダイレクトする必要があります。これは、にリダイレクトするとverify.php、投稿された変数をクリアするようcheck_values.phpです。この場合、セッション変数を使用したくありません。これを達成するための他の方法はありますか。

4

3 に答える 3

0

はい、POSTはページリクエスト後も持続しません。どういうわけかそれらを再送する必要があります。

POSTを使い続けたい場合は、検証ページ内でPOSTed変数をフォームに入力し、Javascriptを使用して送信できます。何かのようなもの

<form id='blah' method='post' action='check_values.php'>
    <input type='hidden' value='<?php echo $_POST['var1']; ?>' />
    <input type='hidden' value='<?php echo $_POST['var2']; ?>' />
</form>

<script type='text/javascript'>
    document.getElementById("blah").submit();
</script>

もう1つのオプションはstream_context_createで、POSTデータを含むリダイレクトヘッダーを送信できます。ただし、これはストリームを開く場合にのみ役立つ可能性があり、リダイレクトが難しい場合があります。


もちろん、簡単な方法は、@ asprinが説明しているように、リダイレクトヘッダーを使用し、GETを使用してデータを送信することです。

于 2012-11-12T09:15:36.350 に答える
0

以下は完全に機能し ます http://www.jquery4u.com/forms/setup-user-friendly-captcha-jqueryphp/

于 2012-11-12T10:16:56.543 に答える
0

クエリ文字列も使用できます

ページで、クエリ文字列を場所に追加します。verify.phpつまり、

header('Location: check_values.php?captcha='.$postedValue.'');

次に、check_values.phpを使用$_GETしてその値を取得できます。

$value = $_GET['captcha'];

ただし、クエリ文字列からのすべてのデータを必ずサニタイズしてください

于 2012-11-12T09:18:29.630 に答える