Я не могу понять, почему он говорит неопределенные переменные num_guess и user_name в части $ _POST в 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 запустит это уведомление, если найдет какие-либо неопределенные переменные, единственный способ справиться с этим – проверить $ _POST перед назначением ему nay-переменных.