0

PHP の $_POST 部分で、未定義の変数 num_guess と user_name と言っている理由がわかりません。

これはHTML 部分です:

<div id="user">
    <img src="Design/Chest12.gif" alt="Chest" name="Chest">
    <div id="msgbox"><span id="msg"></span></div>
    <form id="score_form">
<div class="formtags">
        <ul>
            <li><label for="user">Name: </label></li>
            <li><label for="num_guess">Guesses: </label></li>
        </ul>
</div>
<div class="forms">
  <ul>
    <li><input type="text" name="user_name" id="user_name"/></li>
    <li><input type="text" name="num_guess" id="num_guess"/></li>
  </ul>
</div>
<div class="button">
  <ul>
        <li><input type="submit" id="submit" value="Submit"/></li>
        <li><input type="submit" id="cancel" value="Play Again"/></li>
      </ul>
</div>
</form>

これはAJAX 部分です:

   $(document).ready(function() {   
     $("#user #msgbox").hide();
     $("#user .button ul li #submit").click( function(){
         $.request("utilities.php",{
         'user_name':$("#user_name").val(),
         'num_guess':$("#num_guess").val(),
         },
          function(response){
         $("#msgbox #msg").html("Score Submitted");
         $("#msgbox").slideUp().slideDown("slow");
         });
      return false;
    });
    $("#user #msgbox").click(function(){
    $(this).slideUp("slow");
   });
});

これはPHP の部分です:

 function insertScore($name,$num_guess){
       opendb();
       $query = mysqli_query($GLOBALS['dbconn'],"INSERT INTO game VALUES     (0,'$name',$num_guess)");
       closedb();
    }
    $name = $_POST['user_name'];
    $num_guess =(int) $_POST['num_guess'];
    insertScore($name,$num_guess);
?>
4

1 に答える 1

0

以下を使用できます。

if(isset($_POST['user_name'])){
 $name = $_POST['user_name'];
}
if(isset($_POST['num_guess'])){
 $num_guess =(int) $_POST['num_guess'];
}
//now
   if(isset($name) && isset($num_guess)){
        insertScore($name,$num_guess);
   }

受け取る通知は正常です。未定義の変数が見つかった場合、PHP はその通知をトリガーします。これに対処する唯一の方法は、変数を割り当てる前に $_POST をチェックすることです。

于 2013-03-30T21:17:45.307 に答える