我对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或其大小。
答案 0 :(得分:3)
不,不是。只有name =&gt;值对通过您选择的方法(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计算生成其他数据时,这很方便。您不一定知道高动态网页的所有ID。
CSRF令牌也通常以这种方式发送。
答案 1 :(得分:2)
没有。只有输入的值与您提供的名称一起提交,没有别的;你可以确切地看到URL中提交的内容,就是这样。由于您首先创建了HTML,因此您应该知道其他值是什么。
答案 2 :(得分:1)
简短的回答是:NO
您只能从$_GET
superarray获取输入值。
修改。
但是如果你做了这样的事情:
<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')
?>