Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запись в переменную $_POST

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: не через форму
polka
Отправлено: 05 Июня, 2008 - 17:42:00
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Подскажите можно ли добавить и перезаписать переменную в глобальный массив $_POST ?
 
 Top
scuter
Отправлено: 05 Июня, 2008 - 18:14:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




где то можно где то нет,
у меня как то раз глюки пошли когда я начал менять эту переменную.
 
 Top
EuGen Администратор
Отправлено: 05 Июня, 2008 - 18:20:45
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Переопределять суперглобальный массив $_POST, называя в своем скрипте таким именем переменную, думаю, не стоит. Ну, не вижу ни одной объективной причины к этому.
Добавить же элемент туда можно, или переопределить уже имеющийся. Только вот опять же смысл этого действия непонятен - в этом массиве ведь лежат данные, пришедшие от пользователя.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $_POST['var_name']="your value";
  4. ?>
  5.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
olegworknet
Отправлено: 05 Июня, 2008 - 23:33:59
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




Нет, так не работает. Постараюсь объяснить побробней. (Я зашел под другим пользователем но фиктически все тот же Polka) Есть две страницы №1, №2 и №3. на странице №1 переменной $i присваивается значение и отправляется на №2. в зависимости от значения пременной $i выполняется то или иное действие и преход на страницу №3. для того чтобы вернуться на предыдущую страницу необходимо в странице №3 присвоить нужное значение $i и тогда совершить переход на страницу №2.


Пока ничего из предложенных учебниками и Вами не работает. может что-то другое нужно сделать? заранее спасибо!
 
 Top
RomAndry Администратор
Отправлено: 06 Июня, 2008 - 09:05:12
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




 
My status
 Top
Гость
Отправлено: 20 Июня, 2008 - 16:10:22
Post Id


УДАЛЁН










Можно!!!

Вставьте в одно место следующий код
(ФОРМА ВСПОМОГАТЕЛЬНАЯ ,ЕЕ НЕ БУДЕТ ВИДНО):
CODE (text):
скопировать код в буфер обмена
  1. echo '
  2. <form action="'.$_SERVER['PHP_SELF'].'" method="POST" target="_top"
  3. style="display:none" name="secret_form">
  4. <input type="hidden" name="my_var_name1" value="'.$my_var_name1.'">
  5. <input type="hidden" name="my_var_name2" value="'.$my_var_name2.'">
  6. <input type="hidden" name="my_var_name3" value="'.$my_var_name3.'">
  7. </form>
  8. ';

А в том месте, где нужна ссылка, вставьте этот код:
CODE (text):
скопировать код в буфер обмена
  1. echo '
  2. <a href="#" onClick="secret_form.submit()">Ссылка на этот же скрипт с передачей переменной</a>
  3. ';

Внимание!!! Если Вы вдруг делаете сайт с поддержкой глючного Firefox, то форму придется следать видимой - Убрать параметр style="display:none" (Иначе этот кривой браузер зависнет!) Но ничто не запрещает делать форму невидимой другими способами (Например, засунуть в DIV с положением -300;-300)

(Отредактировано автором: 20 Июня, 2008 - 16:14:57)

 
 Top
valenok Модератор
Отправлено: 20 Июня, 2008 - 17:50:09
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Сказали же
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $_POST['var_name']="your value";
  3. ?>


-----
Truly yours, Sasha.
 
My status
 Top
Гость
Отправлено: 20 Июня, 2008 - 19:30:06
Post Id


УДАЛЁН










Ээээ...
Извините, но автор имел в виду именно то что сказал я

Цитата:
Есть две страницы №1, №2 и №3. на странице №1 переменной $i присваивается значение и отправляется на №2. в зависимости от значения пременной $i выполняется то или иное действие и преход на страницу №3. для того чтобы вернуться на предыдущую страницу необходимо в странице №3 присвоить нужное значение $i и тогда совершить переход на страницу №2.


Вы меня конечно извините, но если переменной $_POST['somevar'] присвоить "someval" и ПЕРЕЙТИ на другую страницу (Что явно сказано в цитате), то это значение не сохранится.

Все значения $_GET и $_POST НЕ сохраняются из скрипта в скрипт... Они явно передаются в запросах (И ТОЛЬКО В ЗАПРОСАХ):
CODE (text):
скопировать код в буфер обмена
  1. GET /somepage.php?a=a&b=b&c=c HTTP/1.1
  2. Host: somehost.somedomain

CODE (text):
скопировать код в буфер обмена
  1. POST /somepage.php HTTP/1.1
  2. Host: somehost.somedomain
  3.  
  4. A=a
  5. B=b
  6. C=c

(Отредактировано автором: 20 Июня, 2008 - 19:40:06)

 
 Top
EuGen Администратор
Отправлено: 20 Июня, 2008 - 21:11:37
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Ну а Вы как думаете?.. Автор просил присвоить переменной из $_POST значение - оно и было представлено. А про переход по скриптам никто и не упоминал.
Все от неточной постановки вопроса. В скрипте - да, как я сказал. А может, надо сделать POST-запрос? И тогда автору нужно было бы посоветовать curl. А может, он хочет воспользоваться технологией AJAX? Тогда - соответствующие ссылки.
Но у нас на форуме, к сожалению, телепаты отсутствуют. И поэтому посоветовали исходя из того, что было в вопросе.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Гость
Отправлено: 20 Июня, 2008 - 22:07:37
Post Id


УДАЛЁН










Цитата:
Все от неточной постановки вопроса. Но у нас на форуме, к сожалению, телепаты отсутствуют

Очень точно подмечено
Цитата:
И тогда автору нужно было бы посоветовать curl. А может, он хочет воспользоваться технологией AJAX?

Да уж точно

Но, согласитесь пожалуйста, что мой вариант - тоже решение
 
 Top
kamikadze
Отправлено: 20 Июня, 2008 - 23:37:45
Post Id



Склонен к самоубийству


Покинул форум
Сообщений всего: 391
Дата рег-ции: Янв. 2007  


Помог: 0 раз(а)




Хм + автору топика посоветовали воспользоватся сессиями, что вероятно облегчело бы его нелегкий труд Подмигивание
 
 Top
Gal_Sergey
Отправлено: 05 Октября, 2008 - 23:49:26
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




JustUserR пишет:
Вы меня конечно извините, но если переменной $_POST['somevar'] присвоить "someval" и ПЕРЕЙТИ на другую страницу (Что явно сказано в цитате), то это значение не сохранится.

Все значения $_GET и $_POST НЕ сохраняются из скрипта в скрипт... Они явно передаются в запросах (И ТОЛЬКО В ЗАПРОСАХ)

Я вот тоже столкнулся с проблемой, что не могу прочитать массив $_POST. Вот еще цитата с http://php.su/learnphp/vars/?reserved
Переменные HTTP POST доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_POST. Что эта цитата не соответствует действительности?
 
 Top
valenok Модератор
Отправлено: 06 Октября, 2008 - 08:45:22
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Переменные HTTP POST видимо автор имел в виду обращение к ним как к
HTTP_POST_VARS. В любом случае статья утарела.


-----
Truly yours, Sasha.
 
My status
 Top
Gal_Sergey
Отправлено: 06 Октября, 2008 - 22:48:06
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




Я говорю не за правильность написания HTTP_POST_VARS, а именно за $_POST. Ну вот я пишу БД, и для обработки форм использовал $_REQUEST в цикле foreach. Было все нормально. Но если поменять только лишь $_REQUEST на $_POST, то $_POST не читается. Хотя казалось бы тоже всё должно работать??? Непонял!
 
 Top
valenok Модератор
Отправлено: 06 Октября, 2008 - 23:25:23
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




значит данные передаются другим методом.
print_r($_POST);print_r($_REQUEST);print_r($_GET);


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB