0

最初に実行したときにPHP変数に格納されたのと同じ値を使用してPHPスクリプトを2回実行するにはどうすればよいですか?

例:
HTML:

<html>
<body>
<form method="post" action="php\test.php">
<input type="text" name="length" />
<input type="submit" value="Run again!" />
</form>
</body>
</html>

php \ test.php:

<html>
<body>
<?php
$length = $_POST['length'];
echo $length;
?>
<form method="POST" action="php\test.php">
<input type="submit" value="Run again!" />
</form>
</body>
</html>

テキストボックスに入力された「長さ」の値を失うことなく、ボタンにスクリプトを再度実行させるにはどうすればよいですか?ボタンをクリックすると、「長さ」が見つからないというエラーが表示されます。

ありがとう!

4

5 に答える 5

2

変数を非表示の入力に入れます。

<input type="hidden" name="myvariable" value="value-from-first-run">

またはセッションを使用してください。

PS: 修正してくださいaction。Windows でも/notを使用する必要があります。\

于 2012-11-09T21:36:54.363 に答える
1

必要なことは、入力 HTML フィールド内に長さパラメーターの値を出力することだけです。

php\test.php:
<html>
<body>
<?php
$length = $_POST['length'];
echo $length;
?>
<form method="POST" action="php\test.php">
<input type="submit" value="Run again!" />
<input type="text" value="<?php echo $length?>" name="length" />
</form>
</body>
</html>

理想的には、投稿データを検証して、不快な驚きがないようにする必要があります。

于 2012-11-09T21:38:10.583 に答える
0

長さは $_SESSION に格納します。このような:

<html>
<body>
<?php
session_start();

//  First form
$form1 = '<form method="post" action="">
<input type="text" name="length" />
<input type="submit" value="Run again!" />
</form>';

// Resend form
$form2 = '<form method="POST" action="">
<input type="submit" value="Run again!" />
</form>';

if (isset($_POST['length'])) {
    $length = $_SESSION['length'] = $_POST['length'];
    print $length . '<br>';
    print $form2;
} else if (isset($_SESSION['length'])){
    $length = $_SESSION['length'];
    print $length . '<br>';
    print $form2;
} else {
    print $form1;
}
?>
</body>
</html>
于 2012-11-09T21:59:59.530 に答える
0

に保管することをお勧めし$_SESSIONます。それがうまくいかない場合、それらをデータベースに保存しますか?

于 2012-11-09T21:36:35.077 に答える
0

非表示の入力フィールドに変数を入れます。

<input type="hidden"
       name="length"
       value="<?php echo htmlspecialchars($_POST['length']); ?>">
于 2012-11-09T21:39:23.083 に答える