0

私はPHPにかなり慣れていません。

コードは非常に単純です。

home.php:

<form action="getsentitem.php" method="get">
   <div  >
   <input  name="query" id="query" class="searchQuery" size="20" value="" type="text" autocomplete="off">
   <input id="searchButton" value="Search" type="submit">
   </div>
</form>

getsentitem.php:

<?php
if (isset($_GET['query']))
$query = $_GET['query'];

?>

質問: 上記のコードは、 にあるテキスト ボックスに入力した内容を単純に表示しますhome.php。さて、テキスト ボックスの他の属性の値を取得する方法はありますか? 同様に、このメソッドを使用してテキストボックスの ID またはそのサイズを取得することは可能ですか。

4

3 に答える 3

3

いいえそうではありません。選択した方法 (GET/POST) を介して、名前=>値のペアのみがサーバーに送信されます。

次の場合は、フォーム内の非表示の入力にカスタム データを含めることができます。

<form action="getsentitem.php" method="get">
   <div  >
   <input type="hidden" name="more_info" value="I will be available after submit."/>
   <input  name="query" id="query" class="searchQuery" size="20" value="" type="text" autocomplete="off">
   <input id="searchButton" value="Search" type="submit">
   </div>
</form>

echo $_GET['more_info']; // 'I will be available after submit.'

これは、AJAX 呼び出しと JavaScript 計算を介して追加データを生成する場合に便利です。非常に動的な Web ページのすべての ID を知っているとは限りません。

CSRFトークンも通常この方法で送信されます。


于 2013-06-10T13:33:28.307 に答える
2

いいえ。入力した値のみが、指定した名前で送信されます。それ以外は送信されません。URL で送信される内容を正確に確認できます。それだけです。最初に HTML を作成したので、他の値が何であるかを知っておく必要があります。

于 2013-06-10T13:32:56.573 に答える
1

簡単な答えは次のとおりです。NO

入力の値はスーパーアレイからのみ取得できます$_GET

編集。

ただし、次のようなことをした場合:

<form action="getsentitem.php" method="get">
   <div  >
   <input  name="query" id="query" class="searchQuery" size="20" value="" type="text" autocomplete="off">
   <input name="queryMeta" value="id:query_class:searchQuery_size:20" type="hidden">
   <input id="searchButton" value="Search" type="submit">
   </div>
</form>

次に、次のように PHP で読み取ることができます。

<?php
if (isset($_GET['queryMeta']))
$queryMeta = explode('_',$_GET['queryMeta']); //splits the string to array('id:query','class:searchQuery','size:20')
?>
于 2013-06-10T13:32:34.990 に答える