2013-10-10 2 views
1

Я пытаюсь получить содержимое текстового поля, и если это определенный текст, я хочу, чтобы он отображал сообщение. Тем не менее, я продолжаю получать ошибки.PHP: попытка получить содержимое текстового поля HTML

<html> 
     <head> 
      <title>Name Tester</title> 
     </head> 
     <body> 
      <h1>Name Tester!</h1><br> 
      <p>Type your first and last name in the name box and see results!</p> 
      <p>EX: Name: John Smith</p> 
      <FORM NAME ="form1" METHOD ="post"> 
       Name: <input type="text" name="firstlastname" value="firstlastname"></input> 
       <input type="submit" name="submit" value="Submit"></input> 
      </form> 
      <?PHP 
      $firstlastname = $_POST['firstlastname']; 
      if($firstlastname == "John Smith"){ 
       echo "John Smith is the most used name ever. Just letting you know."; 
      } 
      elseif($firstlastname == "First Last"){ 
       echo "That isnt much of a name, whats your REAL name?"; 
      } 
      ?> 
     </body> 
    </html> 

Я получаю ошибку на localhost/index.php является:

Notice: Undefined index: firstlastname in C:\xampp\htdocs\index.php on line 15 

HTML-прежнему отображает и PHP все еще работает, но я получаю эту ошибку, а раздражает. Я хочу удалить с моего сайта.

+0

Вы получаете сообщение об ошибке при открытии страницы в первый раз или после заполнения чего-либо в поле и отправки его? – TheWolf

+0

if (isset ($ _ POST ['firstlastname'])) {$ firstlastname = $ _POST ['firstlastname']; } –

ответ

0

Вы получаете эту ошибку, если пытаетесь получить доступ к переменной, которая не была установлена. В этом случае «firstlastname» в вашем $ _POST не задано или неопределено (поскольку это может быть пустым при отправке формы).

Вы можете либо отключить PHP уведомление (error_reporting (E_ERROR | E_WARNING | E_PARSE);) - http://php.net/manual/en/function.error-reporting.php

ИЛИ Вы также можете проверить, если "firstlastname" был установлен с помощью IsSet ($ _ POST [ 'firstlastname']), прежде чем пытаться получить к нему доступ в строке15 файла index.php.

0

Вы должны обернуть свой код в блоке PHP оператором if, проверяющим, была ли нажата кнопка. У вас ничего не будет в вашем массиве сообщений, пока вы не опубликуете что-нибудь там (отправив форму).

Смежные вопросы