关于数组变量的传递 可以考虑用个hidden保存所有选中了的值值与值之间可以用个间隔符,然后在服务器端通过分隔符把值取出放到数组里 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 类似http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=77180 hillhero789(丘),可以具体点吗? 有页面:<p>爱好; (复选框) 篮球<input type="checkbox" name="Hobby[]" value="篮球">; 足球<input type="checkbox" name="Hobby[]" value="足球">; 听音乐<input type="checkbox" name="Hobby[]" value=" 听音乐"> </p>在PHP中定义一个变量$MyHobby存放用户选中的项。 page1.php<form action="page2.php" method="post"><p>爱好; (复选框) 篮球<input type="checkbox" name="Hobby[]" value="篮球">; 足球<input type="checkbox" name="Hobby[]" value="足球">; 听音乐<input type="checkbox" name="Hobby[]" value=" 听音乐"> </p> <p><input type="submit"></p></form>-----------------page2.php<?php$MyHobby=$_POST['Hobby'];for($i=0; $i<count($MyHobby); $i++){ echo $MyHobby[$i];}?> php约定表单的同名变量书写成数组形式,请认真看一下手册的开始章节 写成数组形式,无法做javascript的表单验证...最好写成同名非数组形式,然后用hidden写成以逗号分隔的字符串进行传递 谢谢大家的解答!<?php$MyHobby=$_POST['Hobby'];for($i=0; $i<count($MyHobby); $i++){ echo $MyHobby[$i];}?>这样做只能在$MyHobby中存放一个Hobby,然后就马上输出,但是怎么样将用户选择的爱好全部存放到$MyHobby,然后才一次就全部输出。因为我是要将$MyHobby插入到数据库的一个字段中的。麻烦再解答一下。本问题再加20分。 或者请提供一种方案:page1.html<form action="page2.php" method="post"><p>爱好; (复选框) 篮球<input type="checkbox" name="Hobby[]" value="篮球">; 足球<input type="checkbox" name="Hobby[]" value="足球">; 听音乐<input type="checkbox" name="Hobby[]" value=" 听音乐"> </p> <p><input type="submit"></p></form>怎么样设计page2.php使得可以将用户选择的爱好插入到数据库的一个字段中。 这样php将得到一个叫ccc的阵列。如果您要在客户端对复选框是否被选择、选择了几个用javascript来判断时,javascript会因为复选框的name中含有[]而出错。可以在表单中加入一个隐含域,用javascript设置它的值: <script language="javascript"> function check() { var strchoice=""; for(var i=0;i<document.news.choice.length;i++) { if (document.news.choice[i].checked) { strchoice=strchoice+document.news.choice[i].value+","; } } if (!document.news.choice.length) { if (document.news.choice.checked) { strchoice=document.news.choice[i].value;+"," } } strchoice=strchoice.substring(0,strchoice.length-1); document.news.choiceid.value=strchoice; alert(document.news.choiceall.value); } </script> <html> ... <form name="news" action="test.php" method="post" onsubmit="check()"> <input type="checkbox" name="choice" value="1"> <input type="checkbox" name="choice" value="2"> <input type="checkbox" name="choice" value="3"> <input type="checkbox" name="choice" value="4"> <input type="hidden" name="choiceid" value=""> </form> ... </html> <?php$MyHobby=$_POST['Hobby'];$h = join(",",$MyHobby);//连接$MyHobby成串//入库代码你自己写?>相关问题:数组形式命名的表单变量如何用js访问例<form action="page2.php" method="post"><p>爱好; (复选框) 篮球<input type="checkbox" name="Hobby[]" value="篮球">; 足球<input type="checkbox" name="Hobby[]" value="足球">; 听音乐<input type="checkbox" name="Hobby[]" value=" 听音乐"> </p> <p><input type="submit"></p></form><script>o = document.all["Hobby[]"];for(i=0;i<o.length;i++) alert(o[i].value); to kenko(无聊人) "这样做只能在$MyHobby中存放一个Hobby,然后就马上输出,"----------------不是这样的$MyHobby是数组,已经存了你打勾勾的所有Hobby,你可以用var_dump看一下<?php$MyHobby=$_POST['Hobby'];var_dump($MyHobby);for($i=0; $i<count($MyHobby); $i++){ echo $MyHobby[$i]; //在这里加入插入数据库的代码,可以一个Hobby一个Hobby的插入}?>xuzuning(唠叨) 的方法也很好 但是我的表中只要一个字段是给爱好用的哦!用户 性别 爱好--------------------KENKO 男 ?? xuzuning(唠叨) 的方法是解决了插入的问题,但如果我又要从数据库中取出爱好的话,那么那些爱好不是缠在一起了(篮球足球听音乐),分不开来啊,这样可能会产生歧义啊?本帖再加20分,共60分。 没能理解吗?<?php$MyHobby=$_POST['Hobby'];$h = join(",",$MyHobby);//连接$MyHobby成串//入库代码你自己写?>假定复选框全部选择,则提交后$MyHobby=$_POST['Hobby'];数组$MyHobby的内容为[0]=>篮球, [1]=>足球,[2]=>听音乐$h = join(",",$MyHobby);后$h的内容为 篮球,足球,听音乐这样的串还不能让你入库吗? xuzuning(唠叨) 的方法是解决了插入的问题,但如果我又要从数据库中取出爱好的话,那么那些爱好不是缠在一起了(篮球足球听音乐),分不开来啊,这样可能会产生歧义啊? 发送者 xuzuning 发送时间 2003-11-25 15:30:24 删除 回复 内容 就知道有这一说请注意入库时各项爱好是用“,”分隔的取出时只需$ar = split(",",爱好);就又还原成数组了----------------------------------------------------------------原贴内容:xuzuning(唠叨) 的方法是解决了插入的问题,但如果我又要从数据库中取出爱好的话,那么那些爱好不是缠在一起了(篮球足球听音乐),分不开来啊,这样可能会产生歧义啊 楼上的是: xuzuning(唠叨) 的解答,组织起来我自己收藏!呵呵! 非常谢谢大家!分我会额外给的! php 读取 "特殊" 文本文件 CodeIgniter的配置 什么时候用 引用?? & iconv遇到一个字符不能正确转换奇怪 新手提问:谁能给我写一个很简单的伪静态实现代码。 for 循环的问题 10M-50M文件上传,有那些比较好的方法?在线等待 问个发短信的问题 怎样将mysql里的文本内容按输入时的格式输出? 表单提交问题? 关于中文文件名字显示的问题. 在线交流 用PHP+APACHE+LINUX怎么做虚拟主机的开设,删除,修改
<p>爱好; (复选框)
篮球<input type="checkbox" name="Hobby[]" value="篮球">;
足球<input type="checkbox" name="Hobby[]" value="足球">;
听音乐<input type="checkbox" name="Hobby[]" value=" 听音乐">
</p>在PHP中定义一个变量$MyHobby存放用户选中的项。
篮球<input type="checkbox" name="Hobby[]" value="篮球">;
足球<input type="checkbox" name="Hobby[]" value="足球">;
听音乐<input type="checkbox" name="Hobby[]" value=" 听音乐">
</p>
<p><input type="submit"></p>
</form>
-----------------
page2.php<?php$MyHobby=$_POST['Hobby'];for($i=0; $i<count($MyHobby); $i++){
echo $MyHobby[$i];
}
?>
<?php$MyHobby=$_POST['Hobby'];for($i=0; $i<count($MyHobby); $i++){
echo $MyHobby[$i];
}
?>
这样做只能在$MyHobby中存放一个Hobby,然后就马上输出,
但是怎么样将用户选择的爱好全部存放到$MyHobby,然后才一次就全部输出。
因为我是要将$MyHobby插入到数据库的一个字段中的。
麻烦再解答一下。本问题再加20分。
<form action="page2.php" method="post"><p>爱好; (复选框)
篮球<input type="checkbox" name="Hobby[]" value="篮球">;
足球<input type="checkbox" name="Hobby[]" value="足球">;
听音乐<input type="checkbox" name="Hobby[]" value=" 听音乐">
</p>
<p><input type="submit"></p>
</form>怎么样设计page2.php
使得可以将用户选择的爱好插入到数据库的一个字段中。
<script language="javascript">
function check()
{
var strchoice="";
for(var i=0;i<document.news.choice.length;i++)
{
if (document.news.choice[i].checked)
{
strchoice=strchoice+document.news.choice[i].value+",";
}
}
if (!document.news.choice.length)
{
if (document.news.choice.checked)
{
strchoice=document.news.choice[i].value;+","
}
}
strchoice=strchoice.substring(0,strchoice.length-1);
document.news.choiceid.value=strchoice;
alert(document.news.choiceall.value);
}
</script>
<html>
...
<form name="news" action="test.php" method="post" onsubmit="check()">
<input type="checkbox" name="choice" value="1">
<input type="checkbox" name="choice" value="2">
<input type="checkbox" name="choice" value="3">
<input type="checkbox" name="choice" value="4">
<input type="hidden" name="choiceid" value="">
</form>
...
</html>
$MyHobby=$_POST['Hobby'];
$h = join(",",$MyHobby);//连接$MyHobby成串
//入库代码你自己写
?>相关问题:数组形式命名的表单变量如何用js访问
例
<form action="page2.php" method="post"><p>爱好; (复选框)
篮球<input type="checkbox" name="Hobby[]" value="篮球">;
足球<input type="checkbox" name="Hobby[]" value="足球">;
听音乐<input type="checkbox" name="Hobby[]" value=" 听音乐">
</p>
<p><input type="submit"></p>
</form><script>
o = document.all["Hobby[]"];
for(i=0;i<o.length;i++)
alert(o[i].value);
"这样做只能在$MyHobby中存放一个Hobby,然后就马上输出,"----------------不是这样的
$MyHobby是数组,已经存了你打勾勾的所有Hobby,你可以用var_dump看一下
<?php$MyHobby=$_POST['Hobby'];var_dump($MyHobby);for($i=0; $i<count($MyHobby); $i++){
echo $MyHobby[$i];
//在这里加入插入数据库的代码,可以一个Hobby一个Hobby的插入
}
?>xuzuning(唠叨) 的方法也很好
--------------------
KENKO 男 ??
那么那些爱好不是缠在一起了(篮球足球听音乐),分不开来啊,这样可能会产生歧义啊?
本帖再加20分,共60分。
<?php
$MyHobby=$_POST['Hobby'];
$h = join(",",$MyHobby);//连接$MyHobby成串
//入库代码你自己写
?>
假定复选框全部选择,则提交后
$MyHobby=$_POST['Hobby'];
数组$MyHobby的内容为
[0]=>篮球,
[1]=>足球,
[2]=>听音乐$h = join(",",$MyHobby);
后$h的内容为 篮球,足球,听音乐
这样的串还不能让你入库吗?
那么那些爱好不是缠在一起了(篮球足球听音乐),分不开来啊,这样可能会产生歧义啊?
内容 就知道有这一说
请注意入库时各项爱好是用“,”分隔的
取出时只需$ar = split(",",爱好);就又还原成数组了
----------------------------------------------------------------
原贴内容:
xuzuning(唠叨) 的方法是解决了插入的问题,但如果我又要从数据库中取出爱好的话,
那么那些爱好不是缠在一起了(篮球足球听音乐),分不开来啊,这样可能会产生歧义啊
分我会额外给的!