Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> зачем повторно засылать данные 
:(
    Опции темы
Areostar
Дата 28.12.2014, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



на странице имеется форма
Код

<form method='POST' id='searchform' action='http://www.weblaboratory.info/'>
         <label for='rublic'>I'm looking for: </label>
         <select name='rublic' class='testselect2' id='rublic'>
    <option value='0'>All</option>
    <option value='1'  selected>Advertiser</option>
    <option value='2' >Media</option></select> &nbsp; 
<label  id='l_category' for='category'>Vertical:</label>
<select id='category' name='category' >
<option value='0'>All</option>
<option value = '1'  selected >Forex</option>
<option value = '2' >Binary</option>
<option value = '3' >Auto</option>
<option value = '4' >Beauty</option>
<option value = '5' >Dating</option>
</select>
<input type='submit' id='search' value='Search'>
</form>

при сабмите  данные попадают в класс(вот его конструктор)


Код

function __construct() 
{
    try
    {
        if(isset($_POST["rublic"])) 
        {
            $this->_type = $_POST["rublic"];
            setcookie ("type_cookie", $_POST["rublic"], time() + 3600);
            setcookie ("page_cookie", 1, time() + 3600);
        }
        else if(isset($_COOKIE["type_cookie"]))
        {
            $this->_type = $_COOKIE["type_cookie"];
        }
        else { $this->_type = 0; }
            
        if(isset($_POST["category"]))
        {
            $this->_category = $_POST["category"];
            setcookie ("category_cookie", $_POST["category"], time() + 3600);
            setcookie ("page_cookie", 1, time() + 3600);
        }
        else if(isset($_COOKIE["category_cookie"]))
        {
            $this->_category = $_COOKIE["category_cookie"];
        }
        else { $this->_category = 0; }    
         echo"1)type = ".$_COOKIE["type_cookie"]." category = ".$_COOKIE["category_cookie"];
    }
    catch (Exception $e)  {  }
}


Всё бы пормально но после первого сабмита, при последующих сабмитах или обновлении страницы появляется табличка что необходимо заново отослаь дынные что я раньше засабмитил и что надо это разрещить!

почему так происходит и как исправить?
PM MAIL   Вверх
Areostar
Дата 28.12.2014, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



пришлось на GET переписать. Работает на ура но с POST былобы аккуратнее без этой лапши в адресной строке.

А в чем тут проблема с GET я чтото не понял!??
PM MAIL   Вверх
Aliance
Дата 29.12.2014, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Если грубо говорить, то GET - для передачи запросов на выборку, POST - на изменение. Исключение - авторизация, она делается только POSTом. В данном случае у вас поиск, это выборка, значит GET идеалогически более правильный, т.к. пользователь сможет дать кому-то именно ссылку на конкретный поиск.

Что же касается того всплывающего диалога, от это норма. Чтобы его не было - нужно после каждого POST запроса делать редирект на самого себя:
Код

Header('Location: ' . $_SERVER['REQUEST_URI'], true, 303);


PS: почему статус 303? Ответ тут.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.