Php 无法获取已提交表单的POST值
有人能看出我哪里出了错吗?我试图通过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"/>
<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>