Неопределенный индекс в сообщении PHP

Я беру форму и проверяю переменную в jquery, а затем передаю ее в php-файл в ajax, но я получаю это уведомление

Примечание: Неопределенный индекс: имя_имя в C: \ xampp \ htdocs \ process.php в строке 3 что-то не так. Примечание: Неопределенный индекс: your_email в C: \ xampp \ htdocs \ process.php в строке 7

Вот мой код jquery здесь

$(".button").click(function(){ $('.error').hide(); var your_email=$("input#your_email").val(); if(your_email ==""){ $("label#youremail_error").show(); $("input#your_email").focus(); return false; } var your_name=$("input#your_name").val(); if(your_name==""){ $("label#yourname_error").show(); $("input#your_name").focus(); return false; } var friends_email=$("input#friends_email").val(); if(friends_email==""){ $("label#friendsemail_error").show(); $("input#friends_email").focus(); return false; } var friends_name=$("input#friends_name").val(); if(friends_email==""){ $("label#friendsname_error").show(); $("input#friends_name").focus(); return false; } var dataString = 'your_email=' + your_email + '&friends_email=' + friends_email + '&your_name=' + your_name + '&friends_name=' + friends_name; //alert(dataString); $.ajax({ type: "POST", url:"process.php", data: dataString, success: function(ret) { alert(ret); //alert("thank you for signing up"); }, 

и вот мой PHP

  <?php include 'inc/class.phpmailer.php'; if(isset($_POST['your_name'])){ $your_name=$_POST['your_name']; } else{ echo "something is wrong with your name having:"; var_dump($_POST['your_name']); echo "<br/>"; } if(isset($_POST['your_email'])){ $your_email=$_POST['your_email']; } else{ echo "something is wrong with your email having:"; var_dump($_POST['your_email']); echo "<br/>"; } if(isset($_POST['friends_name'])){ $friends_name=$_POST['friends_name']; } else{ echo "something is wrong with friends name having:"; var_dump($_POST['friends_name']); echo "<br/>"; } 

Я не уверен, почему я получаю это уведомление. По-видимому, мои значения $ _POST не установлены.
Я нахожусь наедине с этим. Знаете ли вы, почему / когда $ _POST не установлен?

Related of "Неопределенный индекс в сообщении PHP"

Сначала вы получаете значение своего_имя, а затем проверяете, существует ли оно

 $your_name=$_POST["your_name"]; <--- this line should be inside an if isset if(!isset($_POST['your_name'])){ 

Сделайте что-то вроде следующего

 if (isset($_POST['your_name'])) { $your_name = $_POST['your_name']; // do whatever here } 

$ _POST ['your_name'] не может быть присвоено переменной $ your_name, когда «ваше_имя» не опубликовано, потому что его не существует .. вам нужно проверить, существует ли он сначала, а затем назначить его переменной. код должен выглядеть следующим образом:

 if (isset($_POST['your_name'])) { $your_name = $_POST['your_name']; } else { echo "something is wrong here"; } 

не видел никакой проблемы в вашем js-коде, но ваш php-код имеет недостаток

  <?php include 'inc/class.phpmailer.php'; //it can be like that or if(!isset($_POST['your_name'])){ echo "something is wrong here"; } else{ $your_name=$_POST["your_name"]; } 

Примечание. Обработка ошибок PHP должна быть выполнена правильно или вы можете отключить предупреждения php