|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
怎么样出来了吧,怎么样自己也可以写出php程序了,虽然离职业和专业的人还有很远,但是好的开始是成功的一半。这个时候改怎么做了呢。现在就是拿1本高手推荐的书,重头到尾读1遍,我说的这个读是自己看。
使人惊异的消逝的复选框
复选框只要实践被选中时才被提交,熟悉到这一点很主要。不然,它的消逝将告知您所需晓得的实情:用户没有单击复选框。利用复选框时,您可使用 isset() 函数显式地反省是不是设置了值:
清单 7. 反省是不是提交了复选框
...
$contact_value = $HTTP_GET_VARS['contact'];
echo $contact_value;
if (isset($contact_value)) {
//The checkbox was clicked
} else {
//The checkbox wasn't clicked
}
...
获得一切表单值
复选框字段只是您对预期表单值称号能够不完整有掌控的情况的示例之一。凡是,您会发明有一个以通用办法会见一切表单值的例程是很有效的。
侥幸的是,由于 $HTTP_GET_VARS及其同类只是散列表,您可以用数组的一些特征来操作它们。例如,您可使用 array_keys() 函数来获得一切潜伏值称号的列表:
清单 8. 获得表单值称号的列表
...
$form_fields = array_keys($HTTP_GET_VARS);
for ($i = 0; $i < sizeof($form_fields); $i++) {
$thisField = $form_fields[$i];
$thisValue = $HTTP_GET_VARS[$thisField];
echo $thisField ." = ". $thisValue;
echo "<br />";
}
...
在本例中,您实践上联合了几种手艺。起首,检索表单字段称号的数组并将其定名为 $form_fields。$form_fields 数组只是一个典范的数组,因而您可使用 sizeof() 函数来肯定潜伏键的数量,并对每项停止轮回遍历。关于每项,检索字段的称号然后利用该称号获得实践值。生成的 Web 页面看起来以下:
ship = Midnight Runner
tripdate = 12-15-2433
exploration = yes
crew = Array
这里有两个主要事项。第一,contact 字段基本没有前往值,这正如预期的那样。第二,crew 值(特地说一下,您也许晓得:它的称号是 crew 而不是 crew[])是一个数组而不是值。为了实践检索一切值,需求利用 is_array() 函数检测一切数组并响应地处置它们:
清单 9. 处置数组
...
for ($i = 0; $i < sizeof($form_fields); $i++) {
$thisField = $form_fields[$i];
$thisValue = $HTTP_GET_VARS[$thisField];
if (is_array($thisValue)){
for ($j = 0; $j < sizeof($thisValue); $j++) {
echo $thisField ." = ". $thisValue[$j];
echo "<br />";
}
} else {
echo $thisField ." = ". $thisValue;
}
echo "<br />";
}
...
了局是一切已实践提交的数据:
ship = Midnight Runner
tripdate = 12-15-2433
exploration = yes
crew = snertal
crew = gosny
最初一个申明:点
既然您有了能顺应您提交任何表单值的表单操作页面,您就需求抽一点工夫思索一个经常让 PHP 法式员感应不测的情况。
有些情形下,设计人员会选择利用一个图形按钮而不是提交按钮,图形按钮如图 2 所示,代码如清单 10 所示。
清单 10. 添加图形按钮
...
<tr>
<td valign="top">Crew species: </td>
<td>
<select name="crew[]" multiple="multiple">
<option value="xebrax">Xebrax</option>
<option value="snertal">Snertal</option>
<option value="gosny">Gosny</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="image" src="button.gif" name="formbutton"/>
</td>
</tr>
</table>
...
图 2. 表单上的图形按钮
请注重,虽然上图中只要一个图象,却有两个图形按钮(或希冀的了局)。作为开辟人员,您可以经由过程反省和值一同前往的 x 和 y 坐标晓得用户单击了何处。现实上,按原样提交该表单能够会创立以以下所示开头的 URL 和查询字符串:
...snertal&crew%5B%5D=gosny&formbutton.x=37&formbutton.y=14
请注重附加到按钮称号的 .x 和 .y。但是,假如您盘算提交该页面然后检查了局,您会看到:
ship = Midnight Runner
tripdate = 12-15-2433
exploration = yes
crew = snertal
crew = gosny
formbutton_x = 37
formbutton_y = 14
请注重,点号(.)已被转换成下划线(_)。这仿佛有点奇异,但它是需要的,由于 PHP 中的变量名不克不及有点号,因而 $formbutton.x 会是一个不法变量名。现实上,表单称号中的任何点号 ― 不单单针对图象按钮 ― 都被转换成下划线。
停止语
在本文中,您看到了对用户经由过程HTML或XHTML表单提交的信息停止会见的几种办法。若何处置该信息取决于您利用的PHP版本和您是不是能将表单变量作为全局变量停止会见。不管何种情形,表单值可作为数组利用,而且您可以用数组的特征来轮回遍历一切可用的值。
不懂的问题有很多高手帮你解决。但不要认为你是新手,就不能帮助别人,比如今天你学会了怎样安装PHP,明天还可能有朋友会问这个问题,你就可以给他解答,不要认为这是浪费时间,忙别人其实就是帮助自己。 |
|