奇怪!这个问题怎么解决啊! 当我把数组变量($f_cpmc[])换成普通变量($f_cpmc ),这样提交到下个页面的值却是正确的。 是php的Bug,还是我使用的方法有问题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在输入中,把你循环中的那句话改成<input type="text" name="f_cpmc[<?echo $i;?>]" size="20" style="border-style: solid; border-width: 0"> ($i是循环控制变量)在输出时也不用什么foreach,就用for循环.$sn=count($f_cpmc);for($j=0;$j<$sn;$j++){echo "f_cpmc[$j]=$f_cpmc[$j]<br>";} <?if($submit=="添加到数据库"){ for($i=1;${"name".$i};$i++){ $sql="insert into table values ('".${"name".$i}."','".${"age".$i}."','".${"sex".$i}."')"; query($sql); }}echo '<form method=post>';for($i=1;${"name".$i};$i++){ echo '姓名<input name="name'.$i.'" value='.${"name".$i}.'>'; echo '年龄<input name="age'.$i.'" value='.${"age".$i}.'>'; echo '性别<input name="sex'.$i.'" value='.${"sex".$i}.'><br>';}echo '姓名<input name="name'.$i.'">';echo '年龄<input name="age'.$i.'">';echo '性别<input name="sex'.$i.'"><br>';echo '<input type=submit value="加入此行">';echo '<input type=submit name=submit value="添加到数据库">';echo '</form>';?> to telescope(望远镜):我用你的方法试过了,还是不行!请看我的测试代码!ls.php<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE>test</TITLE><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link rel="stylesheet" href="css.css" type="text/css"></HEAD><BODY bgcolor="#CCCCCC"><div align="center"> <form name="form_kucun" method="post" action="ls1.php"> <table width="680" border="0" cellspacing="1" cellpadding="0"><?for ( $i = 0 ; $i < 9 ; $i++){?> <tr bgcolor="#FFFFFF"> <td height="30" width="170" valign="bottom"> <div align="center"> <input type="text" name="f_cpmc[<?echo $i;?>]" size="20"> </div> </td> </tr><?} ?> </table><table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <div align="right"> <input type="Submit" class=buttom name="submit" value=" 提交数据 "> <input type="reset" class=buttom name="reset" value=" 清除内容 "> </div> </tr> </table></form></body></html>ls1.php<?$sn = count( $_POST["f_cpmc"] );for ( $i = 1; $i < $sn; $i++) { echo "f_cpmc[$i]=$f_cpmc[$i]<br>";}?>我在TEXT框中输入123456789,提交后显示如下:f_cpmc[1]=56789f_cpmc[2]=56789f_cpmc[3]=56789f_cpmc[4]=56789f_cpmc[5]=56789f_cpmc[6]=56789f_cpmc[7]=56789f_cpmc[8]=to uGain(幽亙) :在for循环中的${"name".$i}是什么意思啊!没有用过这种方法! ${"name".$i}是当变量(个数)名不确定时的写法。放在for循环中,得到的变量名就分别是$name1,$name2..... 可是在你写的循环中,for($i=1;${"name".$i};$i++){ echo '姓名<input name="name'.$i.'" value='.${"name".$i}.'>'; echo '年龄<input name="age'.$i.'" value='.${"age".$i}.'>'; echo '性别<input name="sex'.$i.'" value='.${"sex".$i}.'><br>';}${"name".$i}的位置应该是结束循环的标志啊!你这样写不明白! for ( $i = 0; $i < $sn; $i++) { echo "f_cpmc[$i]=$f_cpmc[$i]<br>";}数组从0开始。 我用的是php4-2-3和mysql和apache. 我找到问题出在那儿啦!在php.ini中有我打开了一项:extension=php_mbstring.dll当我把这一项关于后,就没有错了。呵呵,谢谢各位! PHP新手,救各位老师帮助看看。 php进程安全? APMServ如何改默认web目录 过滤SQL注射的问题? 用php连接操作2个mysql数据库 再次问session问题 救救我吧,头都大了!高手们总不能见死不救吧!!拜托了 <新手帖>请问下将表单的数据存入数据库后 怎么给该数据所属的用户发邮件 写了一个判断IP地址的是否被劫持的小程序有错误 关于zend studio12.5导入jquery easyui出错 现在的odbc数据库开始工作了,但是碰到了一些怪问题,请指教! 讨论对中文文章分行进行处理,但出现乱码的问题!在线等!
<input type="text" name="f_cpmc[<?echo $i;?>]" size="20" style="border-style: solid; border-width: 0"> ($i是循环控制变量)
在输出时也不用什么foreach,就用for循环.
$sn=count($f_cpmc);
for($j=0;$j<$sn;$j++){
echo "f_cpmc[$j]=$f_cpmc[$j]<br>";
}
if($submit=="添加到数据库"){
for($i=1;${"name".$i};$i++){
$sql="insert into table values ('".${"name".$i}."','".${"age".$i}."','".${"sex".$i}."')";
query($sql);
}
}
echo '<form method=post>';
for($i=1;${"name".$i};$i++){
echo '姓名<input name="name'.$i.'" value='.${"name".$i}.'>';
echo '年龄<input name="age'.$i.'" value='.${"age".$i}.'>';
echo '性别<input name="sex'.$i.'" value='.${"sex".$i}.'><br>';
}
echo '姓名<input name="name'.$i.'">';
echo '年龄<input name="age'.$i.'">';
echo '性别<input name="sex'.$i.'"><br>';
echo '<input type=submit value="加入此行">';
echo '<input type=submit name=submit value="添加到数据库">';
echo '</form>';
?>
<HTML>
<HEAD>
<TITLE>test</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="css.css" type="text/css">
</HEAD><BODY bgcolor="#CCCCCC">
<div align="center">
<form name="form_kucun" method="post" action="ls1.php">
<table width="680" border="0" cellspacing="1" cellpadding="0">
<?
for ( $i = 0 ; $i < 9 ; $i++){
?>
<tr bgcolor="#FFFFFF">
<td height="30" width="170" valign="bottom">
<div align="center">
<input type="text" name="f_cpmc[<?echo $i;?>]" size="20">
</div>
</td>
</tr>
<?
}
?>
</table><table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div align="right">
<input type="Submit" class=buttom name="submit" value=" 提交数据 ">
<input type="reset" class=buttom name="reset" value=" 清除内容 ">
</div>
</tr>
</table>
</form>
</body>
</html>
ls1.php<?$sn = count( $_POST["f_cpmc"] );for ( $i = 1; $i < $sn; $i++) {
echo "f_cpmc[$i]=$f_cpmc[$i]<br>";
}
?>
我在TEXT框中输入123456789,提交后显示如下:f_cpmc[1]=56789
f_cpmc[2]=56789
f_cpmc[3]=56789
f_cpmc[4]=56789
f_cpmc[5]=56789
f_cpmc[6]=56789
f_cpmc[7]=56789
f_cpmc[8]=
to uGain(幽亙) :
在for循环中的${"name".$i}是什么意思啊!没有用过这种方法!
放在for循环中,得到的变量名就分别是$name1,$name2.....
echo '姓名<input name="name'.$i.'" value='.${"name".$i}.'>';
echo '年龄<input name="age'.$i.'" value='.${"age".$i}.'>';
echo '性别<input name="sex'.$i.'" value='.${"sex".$i}.'><br>';
}${"name".$i}的位置应该是结束循环的标志啊!你这样写不明白!
echo "f_cpmc[$i]=$f_cpmc[$i]<br>";
}数组从0开始。