仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2009|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:联合PHP利用HTML表单(2)

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:30:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因为函数实在是太多了,慢慢的你就会知道,知道有这个函数就可以。   清单 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[0];

echo "<br />";

echo "1) ".$crew_values[1];

echo "<br />";

echo "2) ".$crew_values[2];

...




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


 

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遍都有用。不过要熟悉引擎
小女巫 该用户已被删除
5#
发表于 2015-3-5 19:02:11 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
乐观 该用户已被删除
6#
发表于 2015-3-10 23:09:13 | 只看该作者
做为1门年轻的语言,php一直很努力。
深爱那片海 该用户已被删除
7#
发表于 2015-3-13 23:07:13 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
莫相离 该用户已被删除
8#
发表于 2015-3-20 21:06:20 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
老尸 该用户已被删除
9#
发表于 2015-3-28 14:42:27 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
分手快乐 该用户已被删除
10#
发表于 2015-4-4 00:36:29 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
小魔女 该用户已被删除
11#
发表于 2015-4-5 21:30:33 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
柔情似水 该用户已被删除
12#
发表于 2015-5-6 01:11:19 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
第二个灵魂 该用户已被删除
13#
发表于 2015-5-9 20:04:39 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
海妖 该用户已被删除
14#
发表于 2015-6-11 01:32:30 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
admin 该用户已被删除
15#
发表于 2015-6-25 05:04:06 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
透明 该用户已被删除
16#
 楼主| 发表于 2015-7-7 17:29:51 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
小妖女 该用户已被删除
17#
发表于 2015-7-13 04:23:00 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
只想知道 该用户已被删除
18#
发表于 2015-7-15 06:24:43 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
兰色精灵 该用户已被删除
19#
发表于 2015-7-20 19:05:07 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
飘飘悠悠 该用户已被删除
20#
发表于 2015-9-23 21:09:11 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-15 10:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表