За последние 24 часа нас посетили 17210 программистов и 1235 роботов. Сейчас ищут 1396 программистов ...

$_POST пустой массив

Тема в разделе "Вопросы от блондинок", создана пользователем gealut, 11 май 2015.

  1. gealut

    gealut Новичок

    С нами с:
    11 май 2015
    Сообщения:
    2
    Симпатии:
    0
    Помогите, пожалуйста, совсем голову сломал из-за чего такая проблема.

    Вот, упростил код до минимума:

    HTML
    Код (Text):
    1. <!DOCTYPE>
    2. <html>
    3. <head>
    4. <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
    5. </head>
    6. <body>
    7.  
    8. <form id="signup_form" action="test222.php" method="POST" enctype="text/plain">
    9.     <table>
    10.     <tr>
    11.         <td><label for="username">Логин (ник):</label></td>
    12.         <td><input name="username" type="text" value="" required="required" /></td>
    13.         </tr>
    14.     <tr>
    15.         <td><label for="password">Пароль:</label></td>
    16.         <td><input name="password" type="password" required="required" value="" /></td>
    17.     </tr>
    18.     </table>
    19.     <div>
    20.         <input name="submit" type="submit" value="Войти" />
    21.         <input name="escape" type="button" value="Отменить" />
    22.     </div>
    23. </form>
    24.  
    25. </body>
    26. </html>
    PHP - test222.php
    Код (Text):
    1. <?php
    2.     echo var_dump($_POST);
    3. ?>
    Результат:
    Код (Text):
    1. array(0) { }
    Да, на сайте другие формы прекрасно обрабатываются и все значения через $_POST передаются. Проблемы только с этой. Переписывал полностью раза три. Брал рабочую и переделывал в эту (не упрощенную, естественно). Без толку. Наверняка что-то элементарное где-то, но у меня уже глаз замылился...
     
  2. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Проверяйте кодировку ваших файлов.
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    смени везде имена атрибутов name, id и т.д. со слов типа submit, password, value и т.д. на что то другое.

    Не знаю на сколько поможет у меня такое как то было, все ок в форме, а данные не приходят, потом убрал name="value" и все заработало.

    так же убери вот эту строчку enctype="text/plain" у самой формы.
     
  4. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Да, такой энктайп в данном случае не нужен.
    А вообще у вас скорее всего файл test222.php в cp-1251.
     
  5. gealut

    gealut Новичок

    С нами с:
    11 май 2015
    Сообщения:
    2
    Симпатии:
    0
    Кодировка везде UTF-8.

    Помогло удаление enctype="text/plain" , данные сразу пошли, спасибо. Я заодно сменил имена, но потом вернул обратно, данные все равно идут. Другая форма, которая работала, у нее енктайп был "multipart/form-data"...

    Но почему enctype="text/plain" мешает проходить данным? Все же верно записано, все по стандарту. Непонятно.

    PS: Погуглил - и впрямь, енктайп периодически мешает... Бог с ним, в этой форме пробелов в вводимых данных нет, так что можно без енктайпа обойтись.