繁体   English   中英

如何根据不同的按钮单击获得不同的$ _POST值

[英]How to have different $_POST value based on different button clicked

我有以下PHP:

if (!empty($text_arr)) {
    echo "<ul>";
    foreach ($text_arr as $key => $twt) {
        echo "<li>";
        echo '<form action="'. $_SERVER['REQUEST_URI'] .'" method="POST">';
        echo $twt['text'];
        echo ' <input type="submit" value="Publish" />';
        echo ' <input type="hidden" name="id_str" value="'. $twt['id_str'] .'" />';
        echo "</form>";
        echo "</li>";
    }
    echo "</ul>";
}
print_r($_POST);

如您所见,我已经发布了发布帖子的按钮。 有很多条目,每个条目都是一个表格。 这样我就可以在$ _POST中获得正确的id_str。

我不喜欢每个选项都有多种形式的事实。 有没有更清洁的方法可以做到这一点? 并且只有一种形式? 我不想使用ajax或js。

ps我在宿醉,可能看不到明显的东西。 或只是问一些愚蠢的问题。 请耐心等待。 希望我的帖子至少没有什么意义。

感谢nandhp我提出了解决方案:

if (!empty($text_arr)) {
    echo "<ul>";
    echo '<form action="'. $_SERVER['REQUEST_URI'] .'" method="POST">';
    foreach ($text_arr as $key => $twt) {
        echo "<li>";
            echo $twt['text'];
            echo ' <button type="submit" name="id_str" value="'. $twt['id_str'] .'" >Publish</button>';
        echo "</li>";
    }
    echo "</form>";
    echo "</ul>";
}

如果不需要$_POST['id_str'] ,则可以在每个提交按钮上设置唯一的name属性:

<input type=submit name=submit0001 value="Publish">

然后,您可以通过查看$_POST['submit0001']$_POST['submit0002']等来判断按下了哪个按钮,以查看单击了哪个按钮。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM