8

ページが更新されたときに$post値を維持するにはどうすればよいですか。つまり、投稿の値を失うことなくページを更新するにはどうすればよいですか。

4

7 に答える 7

7

これは、最初にページを送信しないと不可能です。何らかの方法でフォーム フィールドをサーバーに送信しない限り、つまり、jQuery などを使用してページを更新しない場合。自動保存フォーム スクリプトの一種。

これが検証チェックの場合、提案されているセッションは必要ありません。

ユーザーがフォームに入力し、自分自身に送信する サーバー側の検証が失敗する

$_GET

    <input type="hidden" name="first" 
   value="<?php echo htmlspecialchars($first, ENT_QUOTES); ?>" />

検証メッセージ、終了。

または、提案されているように、このようなセッションで投稿全体を保存しますが、最初に送信して作業する必要があります....

$_POST

if(isset($_POST) & count($_POST)) { $_SESSION['post'] = $_POST; }
if(isset($_SESSION['post']) && count($_SESSION['post'])) { $_POST = $_SESSION['post']; }
于 2012-09-02T09:21:27.653 に答える
2

これはできません。POST 変数は再送信されない場合があります。再送信された場合、通常、ユーザーがページを更新したときにブラウザーがこれを行います。

ユーザーが更新する代わりに別のページへのリンクをクリックした場合、POST 変数が再設定されることはありません。

が通常の変数の場合$post、保存されることはありません。

何かを保存する必要がある場合は、Cookie を使用する必要があります。$_SESSIONクッキーの実装です。Cookie は、ユーザーのブラウザに保存されるデータであり、リクエストごとに再送信されます。

参照: http://php.net/manual/en/reserved.variables.session.php

$_SESSION 変数は単なる連想配列なので、それを使用するには、次のようにするだけです。

$_SESSION['foo'] = $bar
于 2012-09-02T08:47:16.493 に答える
1

$_SESSION の内部に $_POST 値を保存できます。すべての $_POST を次のように保存します。

<?php
session_start();
$_SESSION['value1'] = $_POST['value1'];
$_SESSION['value2'] = $_POST['value2'];
// ETC...
echo "<input type='text' name='value1' value='".$_SESSION['value1']."' />";
echo "<input type='text' name='value2' value='".$_SESSION['value2']."' />";
?>
于 2012-09-02T08:44:36.783 に答える
1

実際にはhtmlフォームで投稿データを保持します。これは、テキストボックスに挿入されたデータを保持する必要がある場合に役立ちます。

  <form> 
<input type="text" name="student_name" value="<?php echo 
isset($_POST['student_name']) ? $_POST['student_name']:'';    
?>">
</form>
于 2016-07-20T04:43:31.683 に答える
0

値をセッションに投稿する

session_start();
$_SESSION["POST_VARS"]=$_POST;

この値は、次のような別のページで取得できます

session_start();
$_SESSION["POST_VARS"]["name"];
$_SESSION["POST_VARS"]["address"];
于 2012-09-02T08:53:51.360 に答える
0

このように、フォームを送信するときに、フォーム内で取得したのと同じ値を使用できますPOST-そこにとどまります。

ちょっとした例:

<?php
$var = mysql_real_escape_string($_POST['var']);
?>
<form id="1" name="1" action="/" method="post">
<input type="text" value="<?php print $var;?>"/>
<input type="submit" value="Submit" />
</form>
于 2012-09-02T08:48:50.110 に答える