2013-03-30 1 views
0

PHP에서 $ _POST 부분의 정의되지 않은 변수 num_guess 및 user_name이 왜 그런지 이해할 수 없습니다. POST 메서드를 사용하여 정의되지 않은 변수 user_name 및 num_guess

<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 부입니다 :

HTML 부분입니다

$(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); 
?> 
+0

안녕하세요 @dale : 새 파일에 여기에 게시 된 동일한 코드를 사용하고 사용하는 버튼의 유형을 수정 했으므로 $ .request 대신 $ .post를 사용했지만 모든 것이 정상입니다 :) –

+0

도움을 주셔서 고맙습니다! – Dale

+0

Hello @Dale : 그러나 이것이 완전히 풀리면 내게 말하지 않았어. –

답변

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를 확인하는 것입니다 변수들.

+0

테이블에 삽입되지 않았다. – Dale