- в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Re: в php не работает $_POST
- Почему не работает запрос на php + PDO?
- PHP $ _POST не работает?
- $_REQUEST
- Описание
- Примечания
- Смотрите также
- User Contributed Notes 6 notes
- PHP код не выполняется / не работает / выводится в браузер / пустая белая страница
в php не работает $_POST
В форме
при нажатии кнопки получается запрос http://localhost/testpost.htm?test=1
$_GET[‘test’] выдает 1, а $_POST[‘test’]
дистриб fedora core 6
Server version: Apache/2.2.3
вопрос: как включить режим post?
Re: в php не работает $_POST
Re: в php не работает $_POST
кажется когда mode=post в строке адреса не должна после нажатия submit отображаться переменная
Re: в php не работает $_POST
Re: в php не работает $_POST
что $_GET[‘test’] что $_REQUEST[‘test’] выдает один и тот же результат а $_POST[‘test’] ничего не выдает
Re: в php не работает $_POST
Огромное спасибо можно считать тема закрыта 🙂
Re: в php не работает $_POST
Re: в php не работает $_POST
Офигеть, я боюсь за интернеты. Пора менять работу.
Re: в php не работает $_POST
а чего за интернет боятся?
Re: в php не работает $_POST
Боже, неужели деградация достигла ТАКИХ масштабов?
Re: в php не работает $_POST
> а чего за интернет боятся?
необразованных обезьян, которые даже method без ошибки не могут написать.
Re: в php не работает $_POST
и при этом посмел побеспокоить Вашество
Re: в php не работает $_POST
уж и ошибится нельзя как сразу у некоторых неуравновешенных начитнается паника: все прпало все пропало 🙂
Re: в php не работает $_POST
> уж и ошибится нельзя
Фигасе. А если бы тебя за фрезер поставили?
Re: в php не работает $_POST
> Фигасе. А если бы тебя за фрезер поставили?
его бы внуки или правнуки оплатили бы стоимость станка.
Re: в php не работает $_POST
Ошибиться то можно, но сразу бежать на ЛОР и просить помощи, не удосужившись перед этим воспользоваться мозгами — это просто ужас. И таких горе-кодеров с каждым днём всё больше.
Источник
Почему не работает запрос на php + PDO?
Всем доброго времени суток, пишу скрипт авторизации на PDO, так получилось, что запрос не работает в коде, хотя когда я эту строку с данными ввожу в phpmy admin или в query browser то он срабатывает и возвращает результат, объясните дуболому, где я мог накосячить?
Файл соединения:
- Вопрос задан более трёх лет назад
- 638 просмотров
PDO::exec() запускает SQL запрос на выполнение и возвращает количество строк, задействованых в ходе его выполнения.
PDO::exec() не возвращает результат выборки оператором SELECT. Если вам нужно выбрать данные этим оператором единожды в ходе выполнения программы, пользуйтесь методом PDO::query().
вы очень постарались, чтобы не работало. Как будто специально усложнили себе жизнь, отключив возможность посмотреть результат из базы
По хорошему, то что приходит от пользователя нужно еще очищать, но задачи такой не стояло в этом задании.
Накосячено здесь везде. В каждой строчке. Но самая ерунда написана в комментариях.
> я всегда делаю, чтобы сначала работало, а потом делаю защиту и «секьюрность».
Придется избавляться от этой дурацкой привычки. Во-первых, это дорога в никуда. С такими идеями твой код всегда будет кривым. Во-вторых, это тупо двойная работа — сначала говнокодить, а потом переписывать набело. И в-третьих, нормальный код проще и удобнее говнокода. Поэтому если не умеешь работать с ПДО — надо учиться. СНАЧАЛА учиться, а потом пытаться что-то писать.
Не забыв предварительно хэшировать все пароли перед записью в БД через password_hash.
А ответ на вопрос, почему у тебя не работает сейчас, можешь прочесть в документации по exec(). Там написано.
Источник
PHP $ _POST не работает?
У меня есть самая простая форма, и все, что я хочу сделать, это эхо, написанное в текстовом поле.
Проблема в том, что он не работает на моем сервере (он работает на другом сервере). Кто-нибудь имеет представление, что может быть неправильным? На сервере есть другие формы и работают нормально.
Несколько вещей, которые вы могли бы сделать:
- Убедитесь, что атрибут «действие» в вашей форме ведет к правильному месту назначения.
- Попробуйте использовать $ _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 не работает
- Файл html и файл php оба должны находиться в папке htdocs в c: \ apache2 (если вы используете веб-сервер Apache).
- Откройте html-файл, набрав http: // «localhost / html_file_name.html»
- Теперь введите свои данные в полях .. Ваш код будет запущен.
Попробуйте вместо этого попробовать по причинам
Источник
$_REQUEST
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
$_REQUEST — Переменные HTTP-запроса
Описание
Ассоциативный массив ( array ), который по умолчанию содержит данные переменных $_GET , $_POST и $_COOKIE .
Примечания
Это ‘суперглобальная’ или автоматическая глобальная переменная. Это просто означает, что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.
При работе в командной строке переменные argv и argc не включаются в данный массив — они присутствуют в массиве $_SERVER .
Переменные в массиве $_REQUEST передаются в скрипт посредством методов GET, POST или COOKIE, поэтому им нельзя доверять, т.к. они могли быть изменены удалённым пользователем. Их наличие и порядок добавления данных в соответствующие массивы определяется директивой конфигурации PHP request_order и variables_order.
Смотрите также
User Contributed Notes 6 notes
Don’t forget, because $_REQUEST is a different variable than $_GET and $_POST, it is treated as such in PHP — modifying $_GET or $_POST elements at runtime will not affect the ellements in $_REQUEST, nor vice versa.
[ ‘foo’ ] = ‘a’ ;
$_POST [ ‘bar’ ] = ‘b’ ;
var_dump ( $_GET ); // Element ‘foo’ is string(1) «a»
var_dump ( $_POST ); // Element ‘bar’ is string(1) «b»
var_dump ( $_REQUEST ); // Does not contain elements ‘foo’ or ‘bar’
?>
If you want to evaluate $_GET and $_POST variables by a single token without including $_COOKIE in the mix, use $_SERVER[‘REQUEST_METHOD’] to identify the method used and set up a switch block accordingly, e.g:
switch( $_SERVER [ ‘REQUEST_METHOD’ ])
<
case ‘GET’ : $the_request = & $_GET ; break;
case ‘POST’ : $the_request = & $_POST ; break;
.
. // Etc.
.
default:
>
?>
To access $_POST, $_GET, etc, use the function filter_input(TYPE, varname, filter) to ensure that your data is clean.
Also, I was brought up to believe that modifying superglobals is a BAD idea. I stand by this belief and would recommend you do too
The way $_REQUEST is populated by default can lead to strange bugs because of the unfortunate default setting of the configuration directive ‘variables_order’.
Example: In an e-shop you want to display prices based on user preference. User can either switch the currency or the previous selection is used. By defaut, the following code WILL NOT WORK as expected:
if ( $_REQUEST [ ‘currency’ ]) # change currency on user request
<
$currency = $_REQUEST [ ‘currency’ ]; # use it
setcookie ( ‘currency’ , $_REQUEST [ ‘currency’ ], 0 , ‘eshop.php’ ); # store it
>
else # use default currency
<
$currency = ‘USD’ ;
>
# display shop contents with user selected currency
echo ‘All prices are shown in ‘ , $currency ;
# let the user switch currency
echo ‘Switch to USD’ ;
echo ‘Switch to EUR’ ;
?>
Regardless of the user choice, the cookie value is used, so unless you change the default ‘request_order’ or ‘variables_order’ the $_REQUEST[something] variable is stuck with the cookie value forever regardless of the user ‘REQUEST’.
( ‘request_order’ , ‘CGP’ ); # use previous value (stored in cookie) or new value upon user request
.
.
.
?>
Fix 2:
Be very careful and patient and go with $_GET, $_POST and $_COOKIE instead of the convenient $_REQUEST. Good luck.
I wrote a function because I found it inconvenient if I needed to change a particular parameter (get) while preserving the others. For example, I want to make a hyperlink on a web page with the URL http://www.example.com/script.php?id=1&blah=blah+blah&page=1 and change the value of «page» to 2 without getting rid of the other parameters.
function add_or_change_parameter ( $parameter , $value )
<
$params = array();
$output = «?» ;
$firstRun = true ;
foreach( $_GET as $key => $val )
<
if( $key != $parameter )
<
if(! $firstRun )
<
$output .= «&» ;
>
else
<
$firstRun = false ;
>
$output .= $key . «=» . urlencode ( $val );
>
>
if(! $firstRun )
$output .= «&» ;
$output .= $parameter . «=» . urlencode ( $value );
return htmlentities ( $output );
>
?>
Now, I can add a hyperlink to the page (http://www.example.com/script.php?id=1&blah=blah+blah&page=1) like this:
echo add_or_change_parameter ( «page» , «2» ); ?> «>Click to go to page 2
The above code will output
Click to go to page 2
[EDIT BY danbrown AT php DOT net: Contains a bugfix provided by (theogony AT gmail DOT com), which adds missing `echo` instructions to the HREF tags.]
Источник
PHP код не выполняется / не работает / выводится в браузер / пустая белая страница
Достаточно часто у начинающих разработчиков встречаются проблемы с запуском PHP-кода. Симптомы и причины могут быть самые разнообразные. Ниже приведены наиболее часто встречающиеся симптомы и их возможные причины.
Вы открыли страницу/файл в браузере и увидели на странице PHP-код. Возможно, вперемешку с другими элементами страницы.
Либо вместо страницы файл «скачался», а в нём Вы увидели исходный код PHP.
Возможные причины:
- Файл должен имет расширение .php (на всякий случай в нижнем регистре: .php , а не .PHP или .pHP ). На всякий случай проверьте также и язык ввода: буквы с имени должно быть латинскими (бывали случаи).
- Страница должна запрашиваться через Веб-сервер , а не из папки напрямую. Поэтому в адресной строке браузера Вы должны видеть http:// , а не file:// (некоторые браузеры скрывают http:// , но file:// виден все равно).
- Из предыдущего пункта следует: у Вас должен быть установлен и запущен веб-сервер (например, Apache или сборки Denwer, XAMPP и т.п.).
- Веб-сервер должен быть настроен на обработку PHP кода. Если Вы используете сборки вроде Денвера, то этот пункт, вероятно, не актуален (хотя кто ж их знает).
- PHP код должен быть обёрнут в PHP-теги: . Если вдруг Вы используете короткие теги или , то попробуйте заменить их на длинные: и соответственно.
- TODO вспомнить и описать другие организационные моменты
Ничего не выводится — только пустая белая страница.
Источник