PHP多个提交按钮的唯一名称失败

时间:2011-01-12 10:08:15

标签: php button unique

我正忙着制作一个小型搜索引擎,从我的数据库中获取信息。接下来要做的是,每个搜索到的记录都可以选择编辑它。因此,我必须为每条记录提供一个具有唯一名称的提交按钮。这很好,直到我按下按钮。然后每个按钮都有相同的名称。

create form:"
<form sutff>
$t=0;
while (){<br/>
$t+=1;<br/>
input type="Submit" name="$t"/><br/>
}</form>

按下一个按钮:

while($_POST[$t]>0){
  if (isset($_POST[$t])) { 
    do stuff
  }
  else{
    $_POST[$t]-=1;
  }
}

不要担心荣誉,'和“”。我会自己解决。

4 个答案:

答案 0 :(得分:1)

JavaScript方法如下:

<form name="form1" method="post">
<input type="hidden" name="item_id" value="">
<input type="submit" value="submit this" onclick="document.form1.item_id.value = '<?php echo 16; ?>';">
<input type="submit" value="submit this" onclick="document.form1.item_id.value = '<?php echo 32; ?>';">
<input type="submit" value="submit this" onclick="document.form1.item_id.value = '<?php echo 48; ?>';">
</form>

在服务器端:

<?php
$item_id = $_POST["item_id"];
?>

另一个选择,或许更好,因为它的100%HTML + CSS解决方案,就是沿着这些方向做点什么:

<style type="text/css">
.submit-button {
    .submit-button {
        /* WARNING: works only in standards compliance mode */
        text-indent: -1000px; /* this hides the button label */
        background: url("edit.gif") no-repeat; /* this places an icon inside the button */
        margin: 0; /* rest makes the button look CoOl */
        border: 1px solid;
        border-color: buttonhighlight buttonshadow buttonshadow buttonhighlight;
        padding: 0;
        width: 18px;
        height: 18px;
    }
</style>

<form name="form1" method="post">
<input type="submit" name="item_id" value="<?php echo 16; ?>" class="submit-button">
<input type="submit" name="item_id" value="<?php echo 32; ?>" class="submit-button">
<input type="submit" name="item_id" value="<?php echo 64; ?>" class="submit-button">
</form>

在服务器端:

<?php
$item_id = $_POST["item_id"];
?>

答案 1 :(得分:1)

您可以为每一行使用单独的表单,这样您就可以拥有包含数据的隐藏字段。

另一个解决方案是在提交按钮上使用onclick事件来设置隐藏字段,然后再继续提交。

命名提交按钮应该可以正常工作。

第三种选择是根本不使用提交,而是使用普通按钮并使用onclick来打开网址。

第四个选项是使用带有链接的图像伪造按钮。

但是有了更多的信息,我们可能会得到更多的想法。

答案 2 :(得分:0)

我不确定你在问什么

您可以为提交按钮设置一个值,然后阅读

 <input type='submit' name='sub' value='edit' />
 <input type='submit' name='sub' value='search' />

然后在php中你可以做到

if ($_POST['sub'] == "edit") { 
    //Do edits
}
else if ($_POST['sub'] == "search"){
    //Do searching
}
else{
    //Run Away....
}

希望这有帮助!

答案 3 :(得分:0)

为什么需要提交按钮,甚至是按钮?

<a href="edit.php?id=1">Edit item 1</a>
<a href="edit.php?id=2">Edit item 2</a>
<a href="edit.php?id=3">Edit item 3</a>
<a href="edit.php?id=4">Edit item 4</a>