Не работает метод пост

Не работает метод POST в PHP, он что устарел? Как им теперь пользоваться?

Здравствуйте, не работает метод POST!
В общем простейший код
файл index.php

Что я только уже не делал, кроме того что нужно сделать чтобы POST заработал
Похоже в POST ничего не передается
Потому что вот этот код выводит пустой массив

вот
Array ( )
и еще пишет куча шибок типа

Замучился уже с ним. Как сделать подскажите?

  • Вопрос задан более трёх лет назад
  • 1749 просмотров

Страница index.php
form action=»action.php» method=»post»>
Ваше имя: input type=»text» name=»name»/>
Ваш возраст: input type=»text» name=»age»/>

Да, все правильно, есть у меня другая версия php где все php.ini прописано как надо, вот только POST все равно не работает! Пишет :

Здравствуйте,
Notice: Undefined index: name in D:\www\Apache\web\test\action.php on line 1
. Вам
Notice: Undefined index: age in D:\www\Apache\web\test\action.php on line 2
0 лет.
Array ( )
Notice: Undefined index: sudmit in D:\www\Apache\web\test\action.php on line 8

Я не пойму, теперь нужно как то по другому данные из формы передавать?

Источник

почему не работает метод POST?

register_long_arrays = On. $_FILES тоже пуст

кстати на моем локальном компе код работает, на серваке — нет.
где в настройках покопаться? от веб-сервера что-то зависит или только настройки php?

для начала всё же isset($_FILES[‘file1’][‘size’]) или !empty($_FILES[‘file1’][‘size’])
потом, откуда

$_FILES — вообще ничего

есть в форме

просто здесь не происал, для экономии места

а файл какого размера закачать пытаешься, а?

и сообщений про ошибку нет, просто массивы пустые.

kay05
как форму без кнопки сабмитишь?
жабаскриптом?
каким?

целиком выложи всё.

[quote name=’Vaska’ date=’7.10.2008, 10:43′ post=’50633′]
[quote name=’kay05′ post=’50626′ date=’7.10.2008, 14:02′][quote name=’Vaska’ post=’50625′ date=’7.10.2008, 9:59′]В условии стоит проверка на существование второго файла, в форме его нет.[/quote]

есть просто я его здесь не прописал.

кстати на моем локальном компе код работает, на серваке — нет.
где в настройках покопаться? от веб-сервера что-то зависит или только настройки php?
[/quote]
Ты больше ничего не забыл написать в своем варианте? Что за секреты? Давай полный обработчик.
[/quote]

2.php
echo ‘FILES:’;
echo ‘HTTP_POST_FILES:’;

Источник

POST не работает.

Есть такая форма:

и есть такая проверка:

Результат: просто перезагрузка формы отправки. Т.е. метод POST не отрабатывается.

Подскажите, плиз, где я туплю?

Re: POST не работает.

Метод пишется с маленькими буквами, попробуй использовать валидатор.

Re: POST не работает.

Re: POST не работает.

В догонку (может поможет) — это все LAMP под Debian Lenny

Re: POST не работает.

Re: POST не работает.

в пыхе есть функция кажись php_info() которая показывает _все_ переменные, в том числе и переданные из запроса, она иногда помогает узрет ькосяк.

Re: POST не работает.

В error_log что-нибудь пишется?

Re: POST не работает.

Вдогонку — где-нибудь в начале скрипта вставь что-то вроде
ini_set(‘error_reporting’, E_ALL);
ini_set(‘display_errors’, 1);
, и смотри «ругань» в браузере

Re: POST не работает.

Понял, виноват. но не помогло

Re: POST не работает.

Re: POST не работает.

> Вдогонку — где-нибудь в начале скрипта вставь что-то вроде.

Не помогло. просто перезагружается и очищается форма.

Re: POST не работает.

Это содержимое test.php? Т. е. форма сабмитится сама на себя? Если да, то

1) не нужно ли помимо

> name=»$Name»

и т. п. писать еще и value=»$Name», и

2) вместо $Name попробуй $_POST[«Name»] (или как-то так, не помню точно), ибо наверняка в php.ini стоит register_globals=Off (и это правильно)

Re: POST не работает.

Только что в phpinfo() увидел такую строчку

Источник

PHP $ _POST не работает?

У меня есть самая простая форма, и все, что я хочу сделать, это эхо, написанное в текстовом поле.

Проблема в том, что он не работает на моем сервере (он работает на другом сервере). Кто-нибудь имеет представление, что может быть неправильным? На сервере есть другие формы и работают нормально.

Несколько вещей, которые вы могли бы сделать:

  1. Убедитесь, что атрибут «действие» в вашей форме ведет к правильному месту назначения.
  2. Попробуйте использовать $ _REQUEST [] вместо $ _POST, посмотрите, есть ли какие-либо изменения.

[Необязательно] Попробуйте включить атрибут ‘name’ и ‘id’, например

Если вы находитесь в среде Linux, убедитесь, что у вас есть права на чтение и запись в файл.

Кроме того, эта ссылка также может помочь.

У меня было что-то подобное в этот вечер, который меня затаскивал. Отправка формы давала мне значения в $ _REQUEST, но не в $ _POST.

В конце концов я заметил, что на вкладке сети в Firebug на самом деле было два запроса; сначала POST с ответом 301, затем GET с ответом 200.

Охота на interwebs звучала так, как будто большинство людей думали, что это связано с mod_rewrite, заставляя запрос POST перенаправляться и, таким образом, меняться на GET.

В моем случае виноват не mod_rewrite, это было намного проще … мой URL-адрес для POST также содержал строку запроса GET, которая начиналась без конечной косой черты в URL-адресе. Это вызвало перенаправление Apache.

Плохо: http: //blah.de.blah/my/path? Key = value & otherkey = othervalue
Хорошо: http: //blah.de.blah/my/path/? Key = value & otherkey = othervalue

Нижняя не вызывает перенаправления и дает мне $ _POST!

Вместо использования $ _POST используйте $ _REQUEST:

У меня также была эта проблема. Ошибка была в htaccess. Если у вас есть правило перезаписи, которое влияет на URL-адрес действия, вы не сможете прочитать переменную POST.

Чтобы исправить это добавление, вы должны добавить это правило в htaccess в начале, чтобы избежать перезаписи URL:

RewriteRule ^ my_action.php – [PT]

Дамп глобальной переменной, чтобы узнать, что у вас есть в области страницы:

Это скажет вам «что» и «где» относительно данных на вашей странице.

попробуй это
html-код

В коде нет ничего плохого. Проблема здесь не видна.

Убедитесь, что после отправки, сценарий вызывается вообще.

Посмотрите, что подано: var_dump($_REQUEST)

попробуйте сделать var_dump($_GLOBALS) .

Потенциальная причина может заключаться в том, что перед вашим скриптом выполняется скрипт, который отключает глобальные переменные. Такие как:

Это можно сделать с помощью опции auto_prepend_file в конфигурации php.ini.

Вы проверяете свой php.ini?
Я сломал свой метод post, когда установил post_max_size то же самое с upload_max_filesize .

Я думаю, что post_max_size должен быть меньше, чем upload_max_filesize .
Протестировано с PHP 5.3.3 в RHEL 6.0

FYI:
$ _POST в php 5.3.5 не работает
PHP POST не работает

  1. Файл html и файл php оба должны находиться в папке htdocs в c: \ apache2 (если вы используете веб-сервер Apache).
  2. Откройте html-файл, набрав http: // «localhost / html_file_name.html»
  3. Теперь введите свои данные в полях .. Ваш код будет запущен.

Попробуйте вместо этого попробовать по причинам

Источник

Почему не работает jQuery post?

В консоле пусто
При редиректе

Notice: Undefined index: name in C:\xampp\htdocs\test\test.php on line 3

Notice: Undefined index: time in C:\xampp\htdocs\test\test.php on line 4

HAbRAhabp:
В консоле пусто
При редиректе

Notice: Undefined index: name in C:\xampp\htdocs\test\test.php on line 3

Notice: Undefined index: time in C:\xampp\htdocs\test\test.php on line 4

Как я понял, ТС хочет перейти на страницу /test.php с параметрами, что передает в ajax. Потом, с помощью css селектора jQuery выбирает location и меняет ему атрибут href 😀

Правильнее будет создать форму и сделать ее сабмит. Вот так:

POST не успевает отработать.
Все команды выполняются одна за одной, не ожидая выполнения предыдущей.

Если Вам нужно сделать редирект после успешного POST сделайте так:

Так редирект выполнится только в случае успешного выполнения запроса.

Срабатывает ли вызов функции? Например , вот так :

‘hi!’ выводится в консоли?
если да, то в этой же консоли смотрите отправляется ли запрос. Если да, то что появляется в консоли после отправки запроса? В общем, консоль вам все покажет )))

Источник

Читайте также:  Xml stylesheet не работает
Оцените статью