如何在循环中创建isset($ _ POST ['id'。$ var])?

时间:2013-01-07 02:39:36

标签: php html mysql

我正在尝试创建一个页面,其中有多个字段,用户可以对每个字段进行评论。要创建这些字段和文本输入,我正在运行一个while循环,其中包含以下html:

<form name = "replyform" method = "post" action = "">           
<input id = "replytext<? echo $replyID; ?>" value = "replytext<? echo $replyID; ?>" name     = "replytext<? echo $replyID; ?>" type="text" class = "span5">
</form>

然后使用以下代码调用'wall_reply()'函数,提交文本值。

if (isset($_POST['replytext'.$replyID])) {
echo wall_reply();//5, $_POST['replytext'.$replyID]);
}

虽然有点遗憾。任何想法在这里可能是错的?

2 个答案:

答案 0 :(得分:0)

你有循环来创建这些表单和输入吗?

将循环放在表单标记内,这样只会创建一个包含多个输入的表单。

答案 1 :(得分:0)

这似乎工作正常,用它作为指导;)

<?php 
$maxposts=7;

if (isset($_POST['submit'])){

function wall_reply($id,$text){
echo '<hr />updating id '.$id.' with '.$text;
}

var_dump($_POST);
for ($i=0;$i<$maxposts;$i++){
$replyID = $i;
        if (isset($_POST['replytext'.$replyID])) {
                 wall_reply($i,$_POST['replytext'.$replyID]);//5, $_POST['replytext'.$replyID]);
        } else {
                echo 'not set';
        }
}
}

?>
<form name = "replyform" method = "post" action = "">           
<?php 
$replyID = 5;
for ($i=0;$i<$maxposts;$i++):
$replyID = $i;
?>
<input id = "replytext<?php echo $replyID; ?>" value = "replytext<?php echo $replyID; ?>" name     = "$
<?php endfor; ?>
<input type="submit" name="submit" value="go"/>
</form>