Php 根据表单结果有选择地将表单发布到不同页面?

Php 根据表单结果有选择地将表单发布到不同页面?,php,html,post,Php,Html,Post,假设我在一个名为photo/delete.php的页面上有一个简单的表单。此表单删除用户指定的图像。所有这些都是: <form action="?" method="post"> <input type="checkbox" name="confirmDelete" value="confirm" /> <input type="submit" value="delete" /> </form> 因此,此表单包含一个必须勾选的确认

假设我在一个名为
photo/delete.php
的页面上有一个简单的表单。此表单删除用户指定的图像。所有这些都是:

<form action="?" method="post">
 <input type="checkbox" name="confirmDelete" value="confirm" />    
 <input type="submit" value="delete" />
</form>

因此,此表单包含一个必须勾选的确认复选框,以确保删除图像。如何根据表单内容动态选择将表单发布到哪个页面

例如,如果未选中复选框,但单击了“提交”按钮,我希望停留在相同的
photo/delete.php
页面上并显示一个错误,因为可能他们确实想删除图像,只是忘记勾选该框

但是,如果一切都成功并且勾选了复选框,我想将它发布到另一个页面,比如说
home.php
,因为停留在刚刚删除的图像的同一页面上是没有意义的


我如何实现这一点

你可以试试这样的东西

HTML:

<form action="delete.php" method="post">
    <input type="checkbox" name="confirmDelete" value="confirm" />    
    <input id="btn_delete" type="submit" value="delete" />
</form>
window.onload = function(){
    document.getElementById('btn_delete').onclick = function(e){
        var checkBox = document.getElementsByName('confirmDelete')[0];
        if(!checkBox.checked) {
            if(e && e.preventDefault) {
                e.preventDefault();
            }
            else if(window.event && window.event.returnValue) {
                window.eventReturnValue = false;
            }
            alert('Please check the checkbox!');
        }
    };
};

您不会真正更改动作的形式。相反,您可以a)发布到同一个页面,但根据所发生的事情使其输出动态化;b) 发布到同一个页面,但如果成功,将包含一个标题重定向(通过PHP)到home.PHP。您需要实现某种类型的表单验证,服务器端(使用PHP检查输入字段,然后选择适当的操作)或客户端(使用JavaSCript或jQuery)。我将为表单操作使用单个值。