Php 如果是,那怎么办?

Php 如果是,那怎么办?,php,Php,这是我的PHP代码 我在代码部分的注释中提到的问题点 if(isset($_POST['submit'])) { if(isset($_POST['rdoption1'])) { $var1 = $_POST["rdoption1"]; } if(isset($_POST['rdoption2'])) { $var2 = $_POST["rdoption2"]; } if(!isset($_POST['rdo

这是我的PHP代码

我在代码部分的注释中提到的问题点

if(isset($_POST['submit']))
{
    if(isset($_POST['rdoption1']))
    {
        $var1 = $_POST["rdoption1"];
    }
    if(isset($_POST['rdoption2']))
    {
        $var2 = $_POST["rdoption2"];
    }
    if(!isset($_POST['rdoption1']))
    {
        $message = "Please select Option1";
    }
    elseif(!isset($_POST['rdoption2']))
    {
        $message = "Please select Option2";
    }
    elseif($_POST['rdoption2'] == "checkSetXY")
    {
        if($_POST["valXLocation"] == "")
        {
            $message = "You forget to enter X value.";
        }
        elseif($_POST["valYLocation"] == "")
        {
            $message = "You forget to enter Y value.";
        }
    } // till here all is good. I get all error messages if anything is left vacant or not clicked on radio button
    elseif(empty($_POST['txtoption3'])) //this is not working //the issue is if i select rdoption1  any option and rdoption2 checkDefault next code logic work.. but next code logic does not work when i click on the radio of checkSetXY and enter x and y values.. It simply does not execute code further..
    {
        $message = "Please enter your name.";
    }
                else
    {               
        //insert into db
                 }
       }
这是带有PHP echos的html表单 在这里,我得到的消息应该在哪里,但当我选择
checkSetXY
value时就没有了

        <?php if(!empty($message)){ echo $message; } ?>

        <form id="form1" name="form1" method="post" action="form1.php">

          Space portion:
              <input type="radio" name="rdoption1" value="RJ"/>space 1
              <input type="radio" name="rdoption1" value="SM" />space 2


            Pixel Location
                <div class="formText">
                <input type="radio" name="rdoption2" value="checkSetXY"/> Specify Location
                    X: <input type="text" id="locField" name="valXLocation">  
                    Y: <input type="text" id="locField" name="valYLocation"> 
                <input type="radio" name="rdoption2" value="checkDefault"/>Default

                <input type="text" class="input" name="txtoption3">
                <input type="submit" name="submit" value="Submit"> 
           </form>

空间部分:
空间1
空间2
像素位置
指定位置
X:
Y:
违约
现在我很困惑,为什么它不使用
txtoption3


有什么帮助吗?提前感谢

这不起作用,因为它总是被设置好的。因此,使用
empty()

解释

您正在发布表单
input
。当您发送它而不填充任何内容时,它只发送此值<代码>“”

空字符串不等于
null
未设置

另外,如前所述,请查看。

这是的else 如果($_POST['rdoption2']==“checkSetXY”)


我猜这是真的,所以它不会进入到其他

文本字段设置,如果它们是空的。你必须检查
empty($\u POST['txtoption3'])

试着在这个IF/IF-ELSE/ELSE序列上做一个图表,因为它可能会让人头晕!问题是如果我选择rdoption1任意选项,rdoption2检查默认下一个代码逻辑工作。。但是,当我单击checkSetXY的单选键并输入x和y值时,下一个代码逻辑不起作用。。它只是不进一步执行代码。@PeterSzymkowski添加了您的引用。:)@PeterSzymkowski问题在于,如果我选择rdoption1任意选项,并且rdoption2选中默认下一个代码逻辑工作。。但是,当我单击checkSetXY的单选键并输入x和y值时,下一个代码逻辑不起作用。。它只是不进一步执行代码。@user2057047为什么不删除
elseif
if(empty($message)){/*addtodb*/}或者{echo$message}
。基本上,
$message
将作为一个错误flag@user2057047什么是“下一个代码逻辑”,我在你的问题中看不到更多的代码逻辑,fiddle可以很好地工作…问题是如果我选择rdoption1 any选项和rdoption2 checkDefault next code logic work。。但是,当我单击checkSetXY的单选键并输入x和y值时,下一个代码逻辑不起作用。。它只是不进一步执行代码。
empty
仍然返回true时,文本字段也可以包含真实数据(数字0)。问题是如果我选择rdoption1 any选项和rdoption2 checkDefault next code logic work。。但是,当我单击checkSetXY的单选键并输入x和y值时,下一个代码逻辑不起作用。。它只是不进一步执行代码。。
elseif(empty($_POST['txtoption3'])) //this is not working