2016-02-14 2 views
2

Я только что установил XAMPP с PHP 7. У меня был скрипт, который работал до этого, но после установки произошла ошибка. Я покажу пример, который также не работает. Проблема в $ _POST, я думаю, это может быть из-за конфигураций в XAMPP или PHP.Примечание: Неопределенный индекс: имя

<?php 
echo "<form action='check.php' method=\"post\"> 
<input type=\"text\" name=\"name\" > 
<input type=\"submit\" name=\"submit\" value=\"ok\"> 
</form>"; 
if (isset($_POST['submit'])){echo $_POST['name'];} 
if (isset($_POST['name'])) var_dump($_POST['name']); 
?> 

Этот код не возвращает ничего, но если я просто добавить echo $_POST['name']; он возвращает ошибку "Примечание: Undefined индекс: имя в D: \ XAMPP \ PHP \ WWW \ index.php в строке 13". Как я могу это исправить?

+2

Возможные дубликатом [PHP: "Notice: Undefined переменной" и "Notice: Undefined индекс"] (http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – Qirel

+0

попробуйте удалить 'backslash (\)' не нужно на самом деле –

+1

Я удалил и вместо имени пользователя \"имя\". Но ничего не изменилось. @ A-2-A –

ответ

0

Кажется, что у вас есть код для всех REQUEST_METHOD s в том же скрипте.
Это нормально, но тогда вы должны различать, как реагировать:

  • либо отправить форму для пользователя, чтобы заполнить и передать,
  • или интерпретируют данные, передаваемые по форме.

Попробуйте этот код, принятый от вашего:

<?php 
    // Check if the form has been transmitted or not 
    if ($_SERVER['REQUEST_METHOD']=='POST') { 
     // A form was transmitted 
     if (isset($_POST['name'])) var_dump($_POST['name']); 
    } else { 
     // Send the form out so the user can transmit it 
     echo "<form action='check.php' method=\"post\"> 
<input type=\"text\" name=\"name\" > 
<input type=\"submit\" name=\"submit\" value=\"ok\"> 
</form>"; 
    } 
?> 
2

@hherger Я удалил XAMPP сервер и установленный WampServer с PHP 5.6. Теперь он показывает другую ошибку.

Устаревший: Автоматическое заполнение $ HTTP_RAW_POST_DATA устарело и будет удалено в будущей версии. Чтобы избежать этого предупреждения, установите 'always_populate_raw_post_data' в '-1' в php.ini и вместо этого используйте поток ввода php: //. в Unknown в строке 0

Предупреждение: Не удается изменить информацию в заголовке - заголовки уже прислал в Unknown в строке 0

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