Показать полную графическую версию : можно ли передать POST запрос без использования форм?
можно ли передать POST запрос без использования форм?
хочу передать переменную в $_SESSION отвечающую за отображение количества товаров на странице
но нужно чтобы после передачи адрес в адресной строке остался тот же, поэтому GET запрос не подходит с ним получится новый адрес имясайта.ru/price/tovar/?limit=10 вместо исходного имясайта.ru/price/tovar/
пока придумал сделать несколько форм с кнопками, а на кнопках изображения с номерами по сколько отображать, но хотелось бы использовать DIV в котором либо текст либо картинка чтобы можно было применить стили к DIV, и срабатывало по нажатию на DIV на JScript
главное чтобы поисковики не увидели эти ссылки переключатели, потому что если они их увидят и нажмут на кнопку изменится количество страниц, а на каждой странице свои ключевые фразы
а поисковики могут управлять элементами формы? нажать на кнопку например?
самый банальный вариант, после обработки GET / POST запроса - редирект на нужный адрес:
header('Location: index.php');
я тоже об этом думал
c обычной ссылкой через GET пишу header('Location: http://имясайта.ru/$a/$b/$c/'); но почему-то не передаются $a $b $c, хотя без header всё работает
с POST всё нормально работает, но нужно использовать формы, другого способа пока не придумал, и не придумал как в форму добавить DIV чтобы срабатывало по DIV
если знаешь скажи, поисковики могут управлять элементами формы?
не понятно, зачем вы хотите передать сесионную переменную, если она доступна все время в течении жизни сессии... если нужно сохранить куда-то, то в базу/файл...
поисковики вроде бы не индексируют страницы по кнопкам submit (т.е. не отправляют формы), а только по тегу <a> (но точно знают только те, кто непосредственно этим занимается).
POST-запрос (равно, как и любой другой) можно отправить через сокет...
http://www.google.com/search?q=%D1%8D%D0%BC%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F+post+%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81% D0%B0+PHP
не понятно, зачем вы хотите передать сесионную переменную »
дак мне надо сначала как-то записать значение в $_SESSION
при выборе кнопки отображать товаров по: передаётся переменная $id_tovar_limit в index.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 значение из сессии
1. если у вас register_globals on, то $tovar_limit изначально содержит $_SESSION['tovar_limit']
2. если register_globals off то все пришлые переменные нужно будет юзать через $_GET/POST....
3. в любом случае пришлые переменные должны проверятся на предмет ожидаемого значения...
rizz,
<?
session_start();
$tovar_limit = $_POST['id_tovar_limit'];
if(!$tovar_limit) $tovar_limit = 5;
$_SESSION['tovar_limit'] = $tovar_limit;
?>
надо писать не так:
header('Location: http://имясайта.ru/$a/$b/$c/'); »
а вот так: header('Location: http://имясайта.ru/'.$a.'/'.$b.'/'.$c.'/'); или так: header("Location: http://имясайта.ru/$a/$b/$c/");
И Location сработает только в том случае, если ни чего до этого не было переданно браузеру, т.е. ни echo, ни printf, ни другой header - ни че го ! )
ага спасибо, так работает
header('Location: http://имясайта.ru/'.$a.'/'.$b.'/'.$c.'/');
а так не работает
header('Location: http://имясайта.ru/admin/'.$a.'/'.$b.'/'.$c.'/');
и незнаю где косяк, может в mod_rewrite
но это на крайняк может буду использовать
понял, что без разницы какой запрос POST или GET, я же в форме пишу action='имясайта.ru/$a/$b/$c/' и он переходит опять на ту же страницу, а $id_tovar_limit передаётся в скрытом поле, так что всё равно придётся использовать формы, иначе можно использовать просто GET и вручную переписывать header
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.