Передача параметров по ссылке методом POST

Сегодняшний урок будет о том, как можно передать параметры по ссылке мотодом POST, либо GET и POST одновременно.

Передевать мы будем при помощи формы и скрытых полей в ней. И так, начнем писать код.

<form action="obrabotka.php?day=18" method="post" name="forma1">
      <input name="year" type="hidden" value="2011">
      <input name="month" type="hidden" value="апрель">
</form>   

Это мы создали форму, которая будет отправлять 3 параметра: день, месяц и год. День мы передадим методом GET, а месяц и год методом POST.

Теперь нам нужно создать ссылку, которая будет отправлять нашу форму. Для этого нам потребуется небольшой код JavaScript

<a href="obrabotka.php?day=18" OnClick="forma1.submit();return false;">Ссылка</a>

Вот и все. Теперь Все наши параметры уйдут в файл obrabotka.php и мы можем делать с ними все, что только пожелаем. При желании передачу через GET вообще можно убрать, но в форме мы указали для того, чтобы как раз передавалось через GET, а в ссылке мы это сделали исключительно для поисковых систем, т.е. чтобы проиндексировалась ссылка с GET параметром.

Где это может понадобиться (расскажу из собственного опыта). Есть у меня автомобильный сайт и там есть раздел объявлений, который можете посмотреть здесь. Как видите, при нажатии на объявление мы передаем 2 параметра методом GET (status и id), но если посмотреть код страницы, то можно увидеть форму, в которой передается с десяток других параметров, которые задает пользователь при поиске объявлений.

Почему я сделал передачу одних параметров методом POST а других методом GET?! Как я уже говорил, методом GET передается уникальный ID и поисковые системы проиндексируют страничку, как уникальную. А если бы я все параметры передавал методом GET, то Яндекс не индексирует УРЛы с таким большим количеством параметров.

Так что свою проблему я решил, надеюсь, мой способ поможет и вам

Rambler's Top100