0

情報をデータベースに保存し、完了時に電子メールを送信するphpフォームがあります。ただし、フィールドがnullかどうかを確認するためにフィールドを検証するのではなく、設定されたオプションと設定されていないオプションの両方を出力します。なぜこれが起こる可能性があるのか​​についてのアイデアはありますか?フォームフィールドの検証を追加する前は、完全に機能していました。

ちなみに、html 5 ariaが必要なため、FFとChromeで機能しますが、IEでは機能しません。

html

<form id="contact" name="contact" action="register1.php" method="post">
 <label for='Cname'>Camper Name</label>
 <input type="text" name="Cname" maxlength="50" value="" required aria-required=true />
 <input type="hidden" id="action" name="action" value="submitform" />
 <input type="submit" id="submit" name="submit" value="Continue to Camp Selction"/>
</form>

php

<?php
 //include the connection file

 require_once('connection.php');

 //save the data on the DB and send the email

 if(isset($_POST['action']) && $_POST['action'] == 'submitform')
 {

   //recieve the variables
$Cname = $_POST['Cname'];

//form validation (this is where it all breaks)
if (isset($Cname)) {
    echo "This var is set so I will print.";
}
else {
  echo '<script type="text/javascript">alert("please enter the required fields");</script>'; 
}
//save the data on the DB (this part works fine)
4

3 に答える 3

1
<?php

    $Cname = isset($_POST['Cname']) ? $_POST['Cname'] : null;
    if (isset($Cname)) {
        echo "This var is set so I will print.";
    }

    // OR

    if (isset($_POST['Cname'])) {
        // Perform your database action here...
    }
?>
于 2012-06-26T18:34:15.130 に答える
0

PHPの空の関数の使用を検討してください

PHP.Net マニュアル Empty()

コードを次のように更新できます。

if(!empty($Cname)) {
    echo "This var is set so I will print.";
}
于 2012-06-26T18:33:01.880 に答える
0

他に「exit()」が必要ですか?

于 2012-06-26T18:33:32.407 に答える