-2

これは私の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
                 }
       }

checkSetXYこれはPHPエコーを使用したhtmlフォームです。ここでは、メッセージが表示されますが、値を選択した場合は表示されません。

        <?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>

今、私は混乱していますなぜそれは取っていないelseifのですかtxtoption3

何か助けはありますか?前もって感謝します

4

3 に答える 3

3

常に設定されるため、機能しません。だから、使用するempty();

elseif(empty($_POST['txtoption3'])) //this is not working

説明

フォームを投稿していinputます。何も入力せずに送信すると、この値が送信されるだけです。""

空の文字列は、と等しくないnull、設定されていません。

また、Peter Szymkowskiが言ったように、フィドルをチェックしてください。

于 2013-02-09T12:51:23.860 に答える
1

テキストフィールドは、空の場合に設定されます。で確認する必要がありempty($_POST['txtoption3'])ます。

于 2013-02-09T12:52:48.337 に答える
-1

それはif($ _ POST ['rdoption2'] == "checkSetXY")のelseです

私はそれが本当だと思うので、それは他には入りません

于 2013-02-09T12:52:00.927 に答える