2015-02-12 2 views
0

Я просто экспериментирую с некоторыми php в верхней части моей страницы, чтобы обрабатывать данные определенной формы. Кажется, я хочу, чтобы я объявлял переменную, даже если этого не существует, поскольку она будет передана при отправке формы.Ошибка объявления переменной формы PHP

Я получаю следующую ошибку Примечание: Undefined индекс: mysubmit в /home/grsim/public_html/age1.php на линии 3

<?php 
    $problem=''; 
     if($_POST['mysubmit']=="Submit Form"){ 
      if($_POST['age']==''){ 
       $problem="The form is blank"; 
     } else { 
      // do something 
      $myage = $_POST['age']; 
      if($myage < 21){ 
       echo "you are a bit young for this"; 
      } else { 
      echo "you are old enough"; 
      } 
     }} 

Любая помощь будет оценена, как я не должен был объявить переменные перед использованием. Я использую кнопку с именем mysubmit.

+0

И ваш HTML форма где? – Rizier123

+0

Это просто уведомление, а не «настоящая» ошибка, вы можете его игнорировать. Он говорит, что в запросе не было заданной переменной POST 'mysubmit'. – L3viathan

ответ

0

просто изменить, если строку

if(isset($_POST['mysubmit']) && $_POST['mysubmit']=="Submit Form"){ 
0

Некоторые серверы установлены, где он дает неопределенную ошибку индекса, когда индекс вы кладете в $_POST не существует. Таким образом, if(isset($_POST['index']) && $_POST['index']=='whatever') { ... }:

<?php 
    $problem=''; 
     if(isset($_POST['mysubmit']) && $_POST['mysubmit']=="Submit Form"){ 
      if(isset($_POST['age']) && $_POST['age']==''){ 
       $problem="The form is blank"; 
     } else { 
      // do something 
      if(isset($_POST['age']) && $_POST['age'] < 21) { 
       echo "you are a bit young for this"; 
      } else { 
      echo "you are old enough"; 
      } 
     }} 

Это настраивается в настройках сервера. Он может быть настроен так, чтобы дать вам пустую строку вместо того, чтобы выбросить эту ошибку.

+0

спасибо, что я использовал этот пример, и он отлично работает - я был смущен, поскольку у меня есть код на других серверах, которые не выбрасывают эту ошибку - спасибо за вашу помощь – gavsim

0

В первом запуске ваша переменная mysubmit еще не установлена. Итак, у вас есть это сообщение.

Попробуйте этот код, чтобы решить эту проблему:

$problem=''; 
    $my_submit = isset($_POST['mysubmit']) ? $_POST['mysubmit'] : false; 
    $myage = isset($_POST['age']) ? $_POST['age'] : false; 

    if($my_submit == "Submit Form"){ 
     if(empty($myage){ 
      $problem="The form is blank"; 
    } else { 
     // do something 

     if($myage < 21){ 
      echo "you are a bit young for this"; 
     } else { 
     echo "you are old enough"; 
     } 
    }} 
Смежные вопросы