使用POST方法的未定义变量user_name和num_guess [英] undefined variable user_name and num_guess using POST method

查看:74
本文介绍了使用POST方法的未定义变量user_name和num_guess的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道为什么在PHP的$ _POST部分中说未定义的变量num_guess和user_name.

I can't understant why is it saying undefined variable num_guess and user_name in the $_POST part in PHP.

这是 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);
?>

推荐答案

您可以使用:

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会触发该通知,处理此问题的唯一方法是在为其指定nay变量之前检查$ _POST.

The notice you get is normal, PHP will trigger that notice if found any undefined variables, the only way to deal with this is to check the $_POST before assigning nay variables to it.

这篇关于使用POST方法的未定义变量user_name和num_guess的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆