在多步骤php表单中,是否按大小写处理没有按钮?

在多步骤php表单中,是否按大小写处理没有按钮?,php,form-submit,Php,Form Submit,我发现这个问题的答案是使用两个不同名称的按钮 <input type="submit" name="publish" alt="Publish" value=""/> <input type="submit" name="save" alt="Save" value=""/> 1。问题:如果在表单的文本字段中按enter键,哪个浏览器实际上不发送提交按钮的名称?我刚刚与Mozilla进行了核对,在这个浏览器中,它发送了submit按钮的名称 2.问题:我想用php构建

我发现这个问题的答案是使用两个不同名称的按钮

<input type="submit" name="publish" alt="Publish" value=""/> 
<input type="submit" name="save" alt="Save" value=""/>
1。问题:如果在表单的文本字段中按enter键,哪个浏览器实际上不发送提交按钮的名称?我刚刚与Mozilla进行了核对,在这个浏览器中,它发送了submit按钮的名称

2.问题:我想用php构建一个从第1页到第3页的多步骤表单。所有页面都在同一个php文件中,我通过按钮检测下一步要转到哪个页面,结构类似于此:

<?php
    if(isset($_POST['button1']))
    {
     include 'page2.php';
    }
    elseif(isset($_POST['button2']))
    {
      include 'page3.php';
    }
    else
    {
      include 'page1.php';
    }
  ?>

由于我有向前和向后按钮,我正在考虑将用户当前所在的页面存储在$_SESSION['current_page']中,当表单提交时没有按钮值,那么我将进入下一页。然而,这对我来说似乎有点太复杂了。有一个较短的解决方案吗

  • 正如作者所说,许多机器人中的任何一个,都是鲜为人知的用户 代理、实验客户、脚本、脚本小子、程序员 通过调试工具和Adrian Lamo测试功能

  • 我想你可以引入隐藏变量;你可以, 或者,通过GET传递状态。也许是最好的办法 将引入Javascript强制(几乎所有有效) 用户按下其中一个按钮,让服务器生成 没有正确按钮提交的任何请求的错误页面。 或者,也许更好一点,更接近Web2.0,不要使用多个 页面表单,但在客户端执行您的魔术(通过隐藏和 取消隐藏表单的部分等),然后提交 一次操作中的“多部分”表单供服务器验证


  • 使用JavaScript意味着在最后一个阶段只需要一个提交按钮。关于问题1:我不想阻止脚本小子攻击我的表单。我只关心那些试图通过表单的人在使用过时的浏览器时是否遇到困难。是否有浏览器在文本字段中按enter键时不传递按钮名称/值?我认为使用Javascript也不能阻止scriptkiddies对表单进行黑客攻击。我只知道如何用javascript隐藏/取消隐藏东西,但不是每个人都支持ahs js。
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        //something posted
    
        if (isset($_POST['publish'])) {
            // Publish-button was clicked
        } else {
            // Assume Save-button was clicked
        }
    }
    
    <?php
        if(isset($_POST['button1']))
        {
         include 'page2.php';
        }
        elseif(isset($_POST['button2']))
        {
          include 'page3.php';
        }
        else
        {
          include 'page1.php';
        }
      ?>