0

フォームのあるWebページがあります。

de _POST メソッドがアクティブ化されたときに、この php コードを使用してフォームの値をセッションに配置します。

<?php session_start(); ?>
<?php
$dump ='';
$dump .='<!DOCTYPE html>
<html>
<head></head>
    <body>';


$dump .='   
    <h1>Deel 1: registratiegegevens</h1>
<form action="oplossing21-deel2.php" method="post">

<ul>
        <li>            <label for="email">email: </label><input type="text" name="email" id="email" value="'.$email.'" />
        </li>
                    <br />
        <li>            <label for="nickname">nickname: </label><input type="text" name="nickname" id="nickname" />
        </li>
                    <br />
        <li>            <input type="submit" value ="volgende" />
        </li>


</ul>
                </form>

';  




if ($_POST) {
  // Store our name in the session array
  $_SESSION["email"] = $_POST["email"];
  $_SESSION["nickname"] = $_POST["nickname"];
}

$email = isset($_SESSION["email"]) ? $_SESSION["email"] : "leeg";




    $dump .='   

    </body>
</html>';
echo $dump;

?>    

ページをリロードすると (F5 または cmd+r)、最後に入力した値がフィールドに入力されていることを確認する方法を知りたいです。フォームを送信すると、次のページに移動しますが、戻ってきたときに、入力フィールドに最後の既知の値が入力されるようにします。誰かがこれで私を助けることができますか? 私はすでに isset() 関数で何かをしようとしましたが、ここからどこへ行くべきかわかりません。

2番目のページでは、セッションをhtmlファイルに配置しただけで、うまくいきました..

<li>'.$_POST["email"].'</li> 
4

5 に答える 5

1

より良いアプローチはonkeyupイベントでhtml5ストレージを使用するため、リロードしてもローカルストレージに残りますが、その時点でphpのみでこれを行うことができない場合は、ajaxを使用して、一定の間隔またはonkeyup..etcの後にajax呼び出しを行う必要があります.イベント

于 2012-12-02T13:36:22.100 に答える
0

$_POST を使用したいときはいつでも、「フォーム」タグが呼び出す「アクション」ドキュメントにそれを入れる必要があります。フォーム データがサーバーに送信される前に、ドキュメントに値を格納することはできません。アクションドキュメントの "oplossing21-deel2.php" は、 $_SESSION["email"] = $_POST["email"]; を置く場所です。$_SESSION["ニックネーム"] = $_POST["ニックネーム"];

于 2013-04-04T01:43:23.060 に答える
0

フォームが送信されているページで、次のようにします

session_start();
$_SESSION['data'] = $_POST['data'];
$_SESSION['data_another'] = $_POST['data_another'];

そして、このようにどこからでもこれらのセッション変数にアクセスできます

session_start(); // this should be at the top of the page before any html load
<input type="text" name="name" value="<?php echo $_SESSION['data'];?>"/>
于 2015-07-09T07:01:39.410 に答える
0

フォームメソッドファイルでoplossing21-deel2.php使用<?php session_start(); ?>し、実行します

$_SESSION["email"] = isset($_POST["email"]) ? $_POST["email"] : "";

電子メールの値をセッションに保存します。

フォーム ファイルに戻ったとき

$email = isset($_SESSION["email"]) ? $_SESSION["email"] : "";

<input type="text" value="<?php echo $email; ?>" />

また、フォーム メソッド ファイルの値を正常に使用した場合は、セッションをクリアして$_SESSION["email"]="";、フォームを再度リロードしたときに古い値が存在しないようにします。

于 2013-04-04T01:56:17.163 に答える
0

ページロード中に変数が設定されているかどうかを確認することで、これを行うことができます。例えば:

PHP
$email = isset($_SESSION["email"]) ? $_SESSION["email"] : "";

そして

HTML
<input type="text" value="<?php echo $email; ?>" />

したがって、セッション変数が設定されている場合は、その内容がフィールドに挿入されます。設定されていない場合は、空の文字列が挿入されます。

于 2012-12-02T13:41:12.453 に答える