Php 无法获取已提交表单的POST值

Php 无法获取已提交表单的POST值,php,forms,Php,Forms,有人能看出我哪里出了错吗?我试图通过POST获取表单中字段的值 该字段已禁用并已预填充 <form method="POST" action="actions/remove-daily-recipient.php"> <input type="text" name="recipientemail" value="email@email.com" disabled /> <input type="submit" value="Remove"/>

有人能看出我哪里出了错吗?我试图通过POST获取表单中字段的值

该字段已禁用并已预填充

<form method="POST" action="actions/remove-daily-recipient.php">
    <input type="text" name="recipientemail" value="email@email.com" disabled />
    <input type="submit" value="Remove"/>
 </form>
这是什么原因

我在想几件事:

  • 页面上有多个表单。但是,表单中的提交按钮不应该只触发并发布在特定表单上填写的数据吗?它不应该影响任何其他形式
  • 数据已预填充,字段已禁用。不是这样吗?我认为它应该能够从预先填充和禁用的字段中获取数据

  • 谢谢

    问题是
    已禁用
    字段未提交

    <input type="text" name="recipientemail" value="email@email.com" disabled />
    

    如果您需要只读字段看起来被禁用,一个简单的CSS规则就足够了。

    您可以在您的案例中使用readonly属性,这样您就可以发布字段的数据。


    在使用“recipientemail”数组索引之前,您可以检查它是否存在,以避免出现错误。

    禁用的属性是一个布尔属性。 当存在时,它指定应禁用该元素,并且该元素不应传递任何值 您可以使用以下两个选项:

    <input type="text" name="recipientemail" value="email@email.com" readonly />
    
    
    


    问题已经得到解答,因此将只添加到此处的解决方案中。 由于禁用的字段不会随表单一起提交,并且会一起被忽略,因此use可以使用已应答的只读字段

    解决方案1。
    
    
    但是,如果您仍然希望保留禁用字段的样式(这反映该字段不可编辑)并提交它,则可以在代码中使用隐藏字段:

    解决方案2。
    
    //此字段将显示为灰色
    //将提交此字段
    

    希望这能添加到您的解决方案中。

    如果(isset($\u POST['recipientemail']){…}可能重复使用,谢谢!就是这样。我还以为是这样的。谢谢你的回答。
    <input type="text" name="recipientemail" value="email@email.com" readonly style="color: rgb(84,84,84); background: rgb(235,235,228); border: 1px solid rgb(169,169,169); padding: 1px;" />
    
    if(isset($_POST['recipientemail'])){
        $email = htmlspecialchars($_POST["recipientemail"]);
        echo $email;
    }
    
    <input type="text" name="recipientemail" value="email@email.com" readonly />
    
    <input type="text" name="recipientemail" value="email@email.com" />
    
    <input type="text" name="recipientemail" value="email@email.com" readonly />
    
    <form method="POST" action="actions/remove-daily-recipient.php">
        //this field will be shown as greyed-out
        <input type="text" name="justforshowing" value="email@email.com" disabled />
        //this field will be submitted
        <input type="hidden" name="recipientemail" value="email@email.com" />
        <input type="submit" value="Remove"/>
    </form>