【发布时间】:2019-04-25 12:11:06
【问题描述】:
我有一个表单,其中我有两个单选按钮,名称 attr 都等于“状态”,我想检查用户是否检查了至少一个单选按钮,如果没有抛出错误消息,并设置一个标志变量为 1 以进行进一步检查。
我尝试通过这种方式检查
if(!isset($_POST["status"]) || empty($_POST["status"])){echo "<p> you must choose missing/found</p>";$flag =1;}
但在用户按下提交按钮之前,我从一开始就收到错误消息。我知道是因为未设置单选按钮,但我如何在不使用 javascript 的情况下做到这一点?
【问题讨论】:
-
收音机通常需要使用
isset()而不是(仅)empty()。您应该向我们展示包含收音机和表单方法的表单。 -
检查
$_SERVER['REQUEST_METHOD']以查看表单是否已发布之前检查单选按钮是否被选中。 -
@rickdenhaan 谢谢你,它成功了。你能给我简要解释一下 $_SERVER['REQUEST_METHOD'] 的工作原理吗?
-
$_SERVER['REQUEST_METHOD']包含用于访问页面的 HTTP 请求方法。在初次访问时,表单未提交,浏览器(很可能)发出了GET请求。大多数(当然不是全部!)表单都是使用POST请求方法提交的,因此在尝试处理表单之前检查它通常可以解决这样的问题。
标签: php html button radio-button