透明 发表于 2015-2-4 00:30:07

PHP编程:联合PHP利用HTML表单(2)

因为函数实在是太多了,慢慢的你就会知道,知道有这个函数就可以。   清单 2 中的暗示法固然是便利的,但它仅在 PHP 伪指令 register_globals 被设置为 on 时才可用。在版本 4.2 之前,这是缺省设置,很多 PHP 开辟人员乃至没无意识到有如许的成绩。但是,从版本 4.2 入手下手,register_globals 的缺省设置是 off,在此情形下,该暗示法不克不及正常任务,由于不再用恰当的值创立并初始化变量。

但是,您可以用其它的办法初始化这些变量。第一个办法是更改 register_globals 的值。很多利用同享办事器的开辟人员无权为全部办事器更改该值,但可以针对某个特定站点改动行动。如您有 .htaccess 文件的会见权,您可以经由过程添加以下伪指令启用 register_globals:


 

php_flag register_globals on




鉴于对该特征是不是可用的不肯定性,建议开辟人员最好不要利用或依托这类获得变量的办法。那末您有甚么选择呢?

假如您的体系运转的是版本 4.1 或更高版本,则您的另外一个选择是利用 import_request_variables() 有选择地注册全局变量纠合。您可使用该函数导入 get、post 和 cookie 值,并且假如您情愿的话,还可以给每项添加前缀。例如:


 

<?php

import_request_variables(gp, "formval_");

echo "Ship = ".$formval_ship;

echo "<br />";

echo "Tripdate = ".$formval_tripdate;

echo "<br />";

echo "Exploration = ".$formval_exploration;

echo "<br />";

echo "Contact = ".$formval_contact;

?>




这里,导入了 get 和 post 值 ― 利用 c 来导入 cookie 值 ― 并且因为 p 跟在 g 以后,所以 post 值将掩盖同名的 get 值。

但假如您象很多开辟人员一样没有运转版本 4.1 或更高版本,那怎样办呢?

会见表单值纠合



关于那些运转较早版本或不肯利用全局变量的人来讲,可以选择利用 $HTTP_GET_VARS 和 $HTTP_POST_VARS 数组。虽然其实不同意利用这些纠合,但它们依然可用,并且仍被普遍利用。认真的不再利用它们时,将用版本 4.1 中添加的 $_GET 和 $_POST 数组替换它们。

这两类数组的类型都是散列表(hash table)。散列表是经由过程字符串值而不是整数来创立索引的数组。利用表单时,可以经由过程值的称号来会见值,如清单 3 所示:


 

清单 3. 经由过程散列表会见表单值

<?

$ship_value = $HTTP_GET_VARS['ship'];

echo $ship_value;

echo "<br />";

$tripdate_value = $HTTP_GET_VARS['tripdate'];

echo $tripdate_value;

echo "<br />";

$exploration_value= $HTTP_GET_VARS['exploration'];

echo $exploration_value;

echo "<br />";

$contact_value = $HTTP_GET_VARS['contact'];

echo $contact_value;

?>




利用该办法,您可以经由过程称号来检索每一个字段的值。

单名,多值



到如今为止,每一个称号仅对应一个值。假如有多个值会如何?例如,crew species 列表框答应用称号 crew 提交多个值。

幻想情形下,您但愿将这些值作为数组利用,如许就能够显式地检索它们。要完成这一点,您必需对 HTML 页面略加修改。要作为数组提交的字段应当用方括号定名,如 crew[] 中:


 

清单 4. 修正 HTML 页面

...

<td>

<select name="crew[]" multiple="multiple">

<option value="xebrax">Xebrax</option>

<option value="snertal">Snertal</option>

<option value="gosny">Gosny</option>

</select>

</td>

...




一旦您作出更改,检索表单值实践上发生数组:


 

清单 5. 将变量作为数组会见

...

$crew_values = $HTTP_GET_VARS['crew'];

echo "0) ".$crew_values;

echo "<br />";

echo "1) ".$crew_values;

echo "<br />";

echo "2) ".$crew_values;

...




如今,提交页面后会显示多个值:


 

0) snertal

1) gosny

2)




起首要注重这是一个下标从 0 入手下手的数组。第一个碰到的值在地位 0 中,接上去的值在地位 1,以此类推。在本例中,我只提交了两个值,所以第三项为空。

凡是,您不晓得将提交几何项,因而您可以使用它是数组这一现实利用 sizeof() 函数来肯定提交了几何值,而不用直接挪用每项:


 

清单 6. 肯定数组的巨细

...

for ($i = 0; $i < sizeof($crew_values); $i++) {

echo $crew_values[$i];

echo "<br />";

}

...




但是,有时成绩不是值太多,而是基本没有

我先解释一下我的学习思路。

再见西城 发表于 2015-2-4 13:14:44

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

因胸联盟 发表于 2015-2-6 16:47:46

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

不帅 发表于 2015-2-17 09:40:39

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

小女巫 发表于 2015-3-5 19:02:11

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

乐观 发表于 2015-3-10 23:09:13

做为1门年轻的语言,php一直很努力。

深爱那片海 发表于 2015-3-13 23:07:13

最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。

莫相离 发表于 2015-3-20 21:06:20

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

老尸 发表于 2015-3-28 14:42:27

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

分手快乐 发表于 2015-4-4 00:36:29

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

小魔女 发表于 2015-4-5 21:30:33

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

柔情似水 发表于 2015-5-6 01:11:19

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

第二个灵魂 发表于 2015-5-9 20:04:39

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

海妖 发表于 2015-6-11 01:32:30

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

admin 发表于 2015-6-25 05:04:06

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

透明 发表于 2015-7-7 17:29:51

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

小妖女 发表于 2015-7-13 04:23:00

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

只想知道 发表于 2015-7-15 06:24:43

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

兰色精灵 发表于 2015-7-20 19:05:07

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

飘飘悠悠 发表于 2015-9-23 21:09:11

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
页: [1]
查看完整版本: PHP编程:联合PHP利用HTML表单(2)