phpページに、それぞれ事前設定された値を持つ多くのテキスト入力を含むフォームがあります。誰かがPOSTでページを送信するときに、どれが変更されたかを知りたいので、誰かがテキスト入力を入力したときにテキストのプロパティ(背景色など)を設定できると思いました。
送信後、入力のプロパティを取得して、変更されているかどうかを確認するにはどうすればよいですか?$ _POST ['name_of_text_input']は入力の値のみを返しますか?
phpページに、それぞれ事前設定された値を持つ多くのテキスト入力を含むフォームがあります。誰かがPOSTでページを送信するときに、どれが変更されたかを知りたいので、誰かがテキスト入力を入力したときにテキストのプロパティ(背景色など)を設定できると思いました。
送信後、入力のプロパティを取得して、変更されているかどうかを確認するにはどうすればよいですか?$ _POST ['name_of_text_input']は入力の値のみを返しますか?
それほど単純に変更されているかどうかはわかりません。
PHPはサーバー上で実行され、データがユーザーに送信されると、PHPに関する限り、これで終わりです。session
(データベース内のまたはいくつかのデータを介して)特に覚えておくように指示しない限り、他には何も覚えていません。
次のいずれかを実行する必要があります。
テキスト入力ごとに非表示フィールドを追加し、javascript(入力のイベントの変更)を使用してそれらの非表示フィールドに値を設定できます。
html5を使用すると、プレースホルダーを使用できる場合があります
<input type="text" placeholder="default value">
PHPでは、値が入力されていないかどうかを確認してから、デフォルト値を使用する必要があります。
簡単な解決策は、エントリの非表示フィールドを作成し、後でそれらを比較することです。
<form>
<!-- old values -->
<input type="hidden" name="old_name" value="<?=$name;?>" />
<input type="hidden" name="old_surname" value="<?=$surname;?>" />
<!-- current values -->
<input type="text" name="name" value="<?=$name;?>" />
<input type="text" name="surname" value="<?=$surname;?>" />
</form>
これで、送信後、それらが異なるかどうかを比較old_name
して確認できます。name
$_POSTを使用して入力のプロパティを取得する方法はありません。ただし、JavaScriptコードを使用して、初期入力の状態を記憶し、変更されたフィールドのみを送信することができます。
FORM
HTMLである場合はいつでも、サーバー側の配列にすべての変数を。POST (HTML)
で送信します。だから、あなたはそれらにアクセスすることができます.php
POST
name
$_POST['name_of_the_input']
例えば:
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
次のようにアクセスできますPHP
:
<?php
echo $_POST["fname"];
echo $_POST["age"];
?>