0

という質問をしている方に出会い、

変数をページの上 (同じページ上) に渡すにはどうすればよいですか?

考えてみましたが、自分でどうすればいいのか思いつかなかったので、可能かどうか疑問に思っていました。

そこで、彼がやろうとしていた$aのは、ページの上部にある の値を の下部の値と同時に変更することでした$a

出来ますか?もしそうなら、どのように?

ありがとうございます。

<?php
echo("Begining " . $a);
?>
<html>

<head>
<title>Test Variables</title>
</head>

<body>
<form>
<form action="<?=$PHP_SELF?>" method="POST">
<input type="TEXT" name="testf" size="10">
<input type="submit" name = "submit" value = "submit"></form><?php
if ("submit" == $submit) {
$a = $testf;
echo( "Bottom " . $a);
}
?>
</body></html>

編集:

答えを見た後、おそらくjquery、ajax、またはjavascriptで実行できますか?

4

4 に答える 4

1

いいえ、ifステートメントを一番上に移動する必要があります。また、if ステートメントに必要な計算変数も一番上に移動する必要があります。

何かのようなもの:

<?php
if ("submit" == $submit) {
    $a = $testf;
}
echo("Begining " . $a);
?>
<html>

<head>
<title>Test Variables</title>
</head>

<body>
<form>
<form action="<?=$PHP_SELF?>" method="POST">
<input type="TEXT" name="testf" size="10">
<input type="submit" name = "submit" value = "submit"></form><?php
echo( "Bottom " . $a);
?>
</body></html>

HTML の出力を開始する前に、すべてのロジックを用意しておくことをお勧めします。HTML のロジックはできるだけ少なくするのが理想的です。

詳細: https://stackoverflow.com/a/95027/320615およびhttps://stackoverflow.com/a/1088791/320615

于 2013-05-17T08:56:59.937 に答える
1

何らかの方法でそれを機能させるために、おそらく後ろにかがむことができます。

しかし、本当の答えは、HTML の出力を開始する前にすべてのビジネス ロジックを処理することです。コードの最初で、現在のリクエストがフォーム送信であるかどうかを判断し、それに応じて変数と HTML テンプレートを設定する必要があります。HTML テンプレートの途中にビジネス ロジックを混在させないでください。

于 2013-05-17T08:57:21.447 に答える
0

$_POST['testf']and$_POST['submit']変数を使用する必要があります。

isset で存在するかどうかも確認します: php manual isset

<?php
echo("Begining " . $a);
?>
<html>

<head>
<title>Test Variables</title>
</head>

<body>
<form>
<form action="<?=$PHP_SELF?>" method="POST">
<input type="TEXT" name="testf" size="10">
<input type="submit" name = "submit" value = "submit"></form><?php
if ("submit" == $submit) {
$a = $_POST['testf'];
echo( "Bottom " . $a);
}
?>
</body></html>
于 2013-05-17T08:57:19.750 に答える
-1

PHP ではできませんが、javascript (および簡単にするために jquery) を使用して完全に読み込まれると、HTML を変更することはできません。

編集:わかりました、初めてコードを少しすばやく読みました:タグのecho前がわかりません。正しくないようです。<html>また、POST var の値を に渡したい$aので、次のようにします。

if(isset($_POST['testf'])) {
    echo $_POST['testf'];
}
于 2013-05-17T08:56:11.623 に答える