Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » можно ли передать POST запрос без использования форм?

Ответить
Настройки темы
можно ли передать POST запрос без использования форм?

Ветеран


Сообщения: 1792
Благодарности: 115

Профиль | Отправить PM | Цитировать


можно ли передать POST запрос без использования форм?
хочу передать переменную в $_SESSION отвечающую за отображение количества товаров на странице
но нужно чтобы после передачи адрес в адресной строке остался тот же, поэтому GET запрос не подходит с ним получится новый адрес имясайта.ru/price/tovar/?limit=10 вместо исходного имясайта.ru/price/tovar/

пока придумал сделать несколько форм с кнопками, а на кнопках изображения с номерами по сколько отображать, но хотелось бы использовать DIV в котором либо текст либо картинка чтобы можно было применить стили к DIV, и срабатывало по нажатию на DIV на JScript
главное чтобы поисковики не увидели эти ссылки переключатели, потому что если они их увидят и нажмут на кнопку изменится количество страниц, а на каждой странице свои ключевые фразы

а поисковики могут управлять элементами формы? нажать на кнопку например?

Отправлено: 19:09, 29-06-2009

 

Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


самый банальный вариант, после обработки GET / POST запроса - редирект на нужный адрес:
PHP код: Выделить весь код

header('Location: index.php'); 


-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Отправлено: 19:25, 29-06-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 1792
Благодарности: 115

Профиль | Отправить PM | Цитировать


я тоже об этом думал
c обычной ссылкой через GET пишу header('Location: http://имясайта.ru/$a/$b/$c/'); но почему-то не передаются $a $b $c, хотя без header всё работает

с POST всё нормально работает, но нужно использовать формы, другого способа пока не придумал, и не придумал как в форму добавить DIV чтобы срабатывало по DIV

если знаешь скажи, поисковики могут управлять элементами формы?

Последний раз редактировалось rizz, 29-06-2009 в 20:04.


Отправлено: 19:49, 29-06-2009 | #3


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


не понятно, зачем вы хотите передать сесионную переменную, если она доступна все время в течении жизни сессии... если нужно сохранить куда-то, то в базу/файл...

поисковики вроде бы не индексируют страницы по кнопкам submit (т.е. не отправляют формы), а только по тегу <a> (но точно знают только те, кто непосредственно этим занимается).

POST-запрос (равно, как и любой другой) можно отправить через сокет...
http://www.google.com/search?q=%D1%8...81% D0%B0+PHP

Отправлено: 20:03, 29-06-2009 | #4


Ветеран


Сообщения: 1792
Благодарности: 115

Профиль | Отправить PM | Цитировать


Цитата Sham:
не понятно, зачем вы хотите передать сесионную переменную »
дак мне надо сначала как-то записать значение в $_SESSION
при выборе кнопки отображать товаров по: передаётся переменная $id_tovar_limit в index.php

вот так написал, незнаю может неправильно понял сессии, но работает, переменную всё равно надо как-то передать в сессию
PHP код: Выделить весь код

session_start();

if (!isset(
$_SESSION['tovar_limit'])) // если не существует сессия, пользователь только что зашёл на сайт, то в сессию записывается значение по умолчанию

$_SESSION['tovar_limit']=5;
}
// если сессия существует, пользователь на сайте, и передана переменная $id_tovar_limit значит пользователь переключил количество отображаемых товаров
// присваиваем сесии новое значение переданное через $id_tovar_limit 
if (isset($_SESSION['tovar_limit']) && isset($id_tovar_limit)) 

$_SESSION['tovar_limit']=$id_tovar_limit;
}

$tovar_limit $_SESSION['tovar_limit']; // присваиваем $tovar_limit значение из сессии 


Отправлено: 20:10, 29-06-2009 | #5


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


1. если у вас register_globals on, то $tovar_limit изначально содержит $_SESSION['tovar_limit']
2. если register_globals off то все пришлые переменные нужно будет юзать через $_GET/POST....
3. в любом случае пришлые переменные должны проверятся на предмет ожидаемого значения...

Отправлено: 20:26, 29-06-2009 | #6


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


rizz,

PHP код: Выделить весь код

<?

session_start
();

$tovar_limit $_POST['id_tovar_limit'];
if(!
$tovar_limit$tovar_limit 5;
$_SESSION['tovar_limit'] = $tovar_limit;
?>

надо писать не так:
Цитата rizz:
header('Location: http://имясайта.ru/$a/$b/$c/'); »
а вот так:
PHP код: Выделить весь код

header('Location: http://имясайта.ru/'.$a.'/'.$b.'/'.$c.'/'); 


или так:
PHP код: Выделить весь код

header("Location: http://имясайта.ru/$a/$b/$c/"); 


И Location сработает только в том случае, если ни чего до этого не было переданно браузеру, т.е. ни echo, ни printf, ни другой header - ни че го ! )

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:27, 29-06-2009 | #7


Ветеран


Сообщения: 1792
Благодарности: 115

Профиль | Отправить PM | Цитировать


ага спасибо, так работает
PHP код: Выделить весь код

header('Location: http://имясайта.ru/'.$a.'/'.$b.'/'.$c.'/'); 


а так не работает
PHP код: Выделить весь код

header('Location: http://имясайта.ru/admin/'.$a.'/'.$b.'/'.$c.'/'); 


и незнаю где косяк, может в mod_rewrite
но это на крайняк может буду использовать

понял, что без разницы какой запрос POST или GET, я же в форме пишу action='имясайта.ru/$a/$b/$c/' и он переходит опять на ту же страницу, а $id_tovar_limit передаётся в скрытом поле, так что всё равно придётся использовать формы, иначе можно использовать просто GET и вручную переписывать header

Последний раз редактировалось rizz, 29-06-2009 в 23:30.


Отправлено: 21:23, 29-06-2009 | #8



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » можно ли передать POST запрос без использования форм?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
как передать (не принять!) методом POST данные на др. сервер VART Вебмастеру 11 25-11-2010 12:54
[решено] Как правильно создать POST запрос K.A.V. Вебмастеру 4 24-01-2010 17:01
JQuery post запрос и PHP darksmoke Вебмастеру 12 09-11-2009 00:01
VBS/WSH/JS - [решено] можно ли копировать файлы с локальных компов без использования сетевого диска foxbat Скриптовые языки администрирования Windows 8 07-04-2009 07:28
Передать значение Web-серверу методом POST Scorpion666 Вебмастеру 5 06-07-2007 22:51




 
Переход