关于同名表单提交 并php获取数组结果!!(整整一天)
来源:互联网 发布:淘宝和天猫哪个生意好 编辑:程序博客网 时间:2024/06/05 02:14
在php中使用复选框
在php中使用复选框,他只会现实最后选择的值,有时比如要统计兴趣爱好的时候,要把选择的复选框集合到一起保存到数据库,此时可以这样:
将复选框名字favor改成favor[],如下所示:
<input type="checkbox" value="体育" name="favor[]" />
体育
<input type="checkbox" value="音乐" name="favor[]" />
音乐
<input type="checkbox" value="话剧" name="favor[]" />
话剧
<input type="checkbox" value="电影" name="favor[]" />
电影
<input type="checkbox" value="戏曲" name="favor[]" />
戏曲
<input type="checkbox" value="曲艺" name="favor[]" />
曲艺
<input type="checkbox" value="读书" name="favor[]" />
读书
<input type="checkbox" value="美食" name="favor[]" />
美食
<input type="checkbox" value="美酒" name="favor[]" />
美酒
<input type="checkbox" value="旅游" name="favor[]" />
旅游
<input type="checkbox" value="户外" name="favor[]" />
户外
<input type="checkbox" value="汽车" name="favor[]" />
汽车
<input type="checkbox" value="逛街购物" name="favor[]" />
逛街购物
在结果显示页增加此代码:
$array = $_POST["favor"]; //将所选的值组成的数组放入$array数组
//$num = count($array); 可以计算一共有多少项被选择
$interest = ""; //设置一个空变量interest
for($i=0;$i<13;$i++) //一共有13个选项,逐一循环
{
if(isset($array[$i]))
{
$interest = $array[$i];
for($i=$i+1;$i<13;$i++)
{
if(isset($array[$i]))
$interest = $interest.",".$array[$i];
}
break;
}
}
echo $interest; //输出最后代码
结果如:
体育,音乐,电影,旅游,户外,汽车,明星
—————————————————————————————以上也适用于同名表单—————————————————————
(注意:1 php对同名表单要求组成数组提交 2 提交后获取要求先付值给数组 并整理成串 用逗号隔开)
注意:
网页上提交表单之后,php为什么不能获取提交的内容?
Q. 网页上提交表单之后,PHP为什么不能获取提交的内容?
A. 新版的PHP已经废弃了原来的表单内容处理方式,即不再把提交的表单的内容直接
复制到一个同名变量中。解决办法有四个:
1. 修改php.ini,查找 register_globals,将其值修改为 On。这样就可以像原
来一样,例如,提交的表单中包括一个名为"username"的变量,那么在php中
就可以直接使用$username来访问该变量。但是,除非你要使用一段旧的代码
而考虑到兼容性问题,否则不建议使用该方法。
2. 使用 $HTTP_GET_VARS、$HTTP_POST_VARS数组来访问,例如写成
$HTTP_POST_VARS["username"]的形式。不过该方法也不建议采用。
3. (推荐)使用 $_POST、$_GET等数组来访问,例如写成 $_POST["username"]的
形式。建议采用这种方法。
4. (推荐)使用 import_request_variables 函数。该函数将提交内容导入到变
量中。例如 import_request_variables("gp", "rvar_");
第一个参数可以选择g,p,c,分别表示导入 GET,POST,COOKIE 变量;第二个参数
为导入后的变量前缀。执行上面的语句后即可使用 $rvar_username 来访问提交
的 username 变量。
Tips: 第三项中提到的预设变量有: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIE,
$_FILES, $_ENV, $_REQUEST, $_SESSION等。详细信息请参考PHP手册。
PHP中Array数组教程 ----------------------------------------------------------- count()函数 $count值将为7。 array_push()函数 这将显示: ----------------------------------------------------------- 这将显示: ----------------------------------------------------------- 这将显示: ----------------------------------------------------------- array_pop()函数 这将显示: 这将显示: ----------------------------------------------------------- 这将显示:
PHP中有很多数组相关的函数,一一用实例说明了in_array()、count()、array_push()、array_unshift()、array_merge()、array_pop()、array_shift()、sort()
in_array()函数
如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false。如下代码将输出“Not found in this array”——因为你将在$namesArray中寻找一个并不存在的“Alber ”。
<? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John");
$lookingFor = "Albert";
if (in_array($lookingFor, $namesArray)) {
echo "You've found it!";
} else {
echo "Not found in this array!";
}
?>
如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You've found it!”——因为“Mary”是$namesArray的一部分。
如果希望对数组元素计数,你可以使用count()函数:
<? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John");
$count = count($namesArray); ?>
你可以对任何数组添加元素,无论是在已存在数组的开始或末尾。你也可以使用函数以创建一个包含两个或多个数组元素的新数组。合并时每个数组将按需要的顺序排列。如果你的数组已经有内部的排序,你需要对新的合并数组重排序。让我们从对已存在数组的末尾增添元素开始,使用函数array_push():
<? /* 创建原始数组 */
$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
/* 加入到原始数组中 */
array_push($fruitArray, "grape", "pineapple", "tomato");
/* 通过其键值列出每个元素*/
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}
?>
0 : apple
1 : orange
2 : banana
3 : kiwi
4 : pear
5 : grape
6 : pineapple
7 : tomato
array_unshift()函数
当你需要对数组开头添加元素时,代码非常类似。不同处只是函数名:array_unshift() 而不是array_push()。
<? /* 创建原始数组 */
$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
/* 加入到原始数组中 */
array_unshift($fruitArray, "grape", "pineapple", "tomato");
/* 通过其键值列出每个元素*/
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}
?>
0 : grape
1 : pineapple
2 : tomato
3 : apple
4 : orange
5 : banana
6 : kiwi
7 : pear
array_merge()函数
函数array_merge()合并两个或更多的数组。
<? /* 创建原始数组 */
$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
<? /* 创建第二个数组 */
$vegArray = array("carrot", "green beans", "asparagus", "artichoke", "corn");
/* 合并为一个数组 */
$goodfoodArray = array_merge($fruitArray, $vegArray);
/* 通过其键值列出每个元素*/
while (list($key,$value) = each($goodfoodArray)) {
echo "$key : $value<br>";
}
?>
0 : apple
1 : orange
2 : banana
3 : kiwi
4 : pear
5 : carrot
6 : green beans
7 : asparagus
8 : artichoke
9 : corn
现在已经对数组进行了增加元素和合并,现在来练习删除元素函数。你可以使用函数array_pop()从一数组末尾删除一个元素。如果使用函数 array_shift(),则从一数组开头删除一个元素。而实际上当你从数组删除元素时,此元素对你而言仍然可用——当你从已存在的数组中对元素进行 pop 或 shift时。
使用array_pop()函数从数组末尾删除一个值:
<?
/* 创建一数组*/
$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
/* 在末尾弹出某值 */
$popped = array_pop($fruitArray);
/* 列出新数组内容,以及弹出的值*/
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}
echo "<br>and finally, in $popped: $popped";
?>
0 : apple
1 : orange
2 : banana
3 : kiwi
and finally, in $popped: pear
array_shift函数
下面,从数组末尾删除某值:
<?
/* 创建一数组*/
$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
/* 从数组头部移出某值 */
$shifted = array_shift($fruitArray);
/* 列出新数组的内容以及移出的值*/
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}
echo "<br>and finally, in $shifted: $shifted";
?>
0 : orange
1 : banana
2 : kiwi
3 : pear
and finally, in $shifted: apple
sort()函数
有很多函数可以帮助你对数组元素排序。但我将会演示基本的排序以帮助你了解其过程:
<? /* 创建原始数组 */
$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
/* 排序 */
sort($fruitArray);
/* 对其重设以正确从头到尾显示数组 */
/* 通过其键值列出每个元素*/
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}
?>
0 : apple
1 : banana
2 : kiwi
3 : orange
4 : pear
- 关于同名表单提交 并php获取数组结果!!(整整一天)
- 使用 ajax 方式提交表单,并获取后台处理结果
- PHP表单传递同名当成数组
- jsp用Ajax提交表单并显示结果(一)
- .net 后台提交表单并返回结果
- Python提交表单并处理返回结果
- .net 后台提交表单,获取返回结果
- php获取表单中多个同名元素的值
- JSP 第一天:提交表单--获取表单中的数据值
- 表单提交ckeditor并获取其值
- [PHP] 提交表单后 PHP获取提交内容 的方法
- 关于c#的webbrows控件自动填写表单并获取提交后的网页内容
- php获取表单提交的数据
- PHP提交表单获取复选框值
- MVC TIP3:JQuery通过Ajax提交表单并返回结果
- 提交表单并在一个弹出的窗口中显示结果(用于投票结果显示窗口)
- django获取多个同名checkbox提交(POST)
- 获取iFrame框架中Form表单提交后的结果
- 【解决问题】'failed to open stream:Permission denied in......'在php出现情况总结
- 关于性能监控
- GRETA库在VS 2005环境下的编译经验
- 在Eclipse中新建Android工程后出错的问题
- 【转载】linux open 系统调用过程
- 关于同名表单提交 并php获取数组结果!!(整整一天)
- 二十五条商业必学
- 简介正则表达式(转载)
- 其他方面
- Javascript获取JSP中数据
- js表单提交验证
- WPF-ListView选中行
- 新手,请多多关照
- 独立经济体——中等经济危机