PHP$\u用于取消设置和设置单选按钮的POST错误,如果设置或未设置,则在POST上显示SQL错误

PHP$\u用于取消设置和设置单选按钮的POST错误,如果设置或未设置,则在POST上显示SQL错误,php,html,Php,Html,我有一个带有多个单选按钮的表单,在我尝试进行错误处理之前,它们似乎都可以正常工作 代码HTML: 男性 女性 您只需使用以下代码即可应用该验证: if ( isset($_POST['gender'])==false ) { $error[] = ' Error: please select male or female '; } else { //if it is set then $uGender should hold post value

我有一个带有多个单选按钮的表单,在我尝试进行错误处理之前,它们似乎都可以正常工作

代码HTML:


男性
女性
您只需使用以下代码即可应用该验证:

    if ( isset($_POST['gender'])==false ) {
        $error[] = ' Error: please select male or female ';
    } else { //if it is set then $uGender should hold post value 
        $uGender = strip_tags(trim($_POST['gender']));

    }
试试这个

if (isset ($_POST['gender']) == 0) {
        $error[] = ' Error: please select male or female ';
    } else { //if it is set then $uGender should hold post value 
        $uGender = strip_tags(trim($_POST['gender']));

    }

感谢@AbraCadver、@Alex和@Sumithran。我使用综合结果来找出修复方法

确保单选按钮无法发布或显示任何SQL
不能为空的错误

首先,您需要使用
isset()
检查变量是否已设置,然后只需为未设置变量创建另一个处理程序即可

以下是有效的修复方法:

if (!isset($_POST['Gender'])) {

    } else {
        $uGender = strip_tags(trim($_POST['Gender']));
    }

// then I have the following to double check if its really set or not

if (isset($uGender) == 0) {
        $error[] = ' Please Select either Male or Female !';
    }

而不是
if(strip\u tags(trim)(isset($\u POST['gender']))==NULL{
just
if(isset($\u POST['gender'])){
不需要
if(!isset($\u POST['gender']){
不访问
$\u POST
if(strip\u tags(trim(isset($\u POST['gender']))
此处不能为空,因为默认情况下您已经选中了一个值。您可以检查是否选择了男性或女性。因此,如果需要,您可以将其引用用于下一次即时条件输入验证。