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 :: Страшный код [2]

 PHP.SU

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


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

> Описание: Переписать в адекватный человеческий код
Nizz
Отправлено: 13 Сентября, 2019 - 15:40:25
Post Id



Гость


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


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




Еще раз хочу попросить помощи. Решил переписать все и подойти с поправкой на ошибки, использую метод GET. Передаю параметры, однако возникла особенность некорректной работы при смене страниц. Далее код
PHP:
скопировать код в буфер обмена
  1.  
  2. //** Новая ф-ия фильтра
  3.         $_SESSION['sort']=$_GET['sort'];
  4.        if(!isset($_SESSION['sort'])){
  5.         $_SESSION['sort']='default_up';
  6.        
  7.        }
  8.        $params_get = array(
  9.         'name_up' => '`name` ASC',
  10.         'name_down' => '`name` DESC',
  11.         'price_up' => '`price` ASC, `priceflo` ASC',
  12.         'price_down' => '`price` DESC, `priceflo` DESC',
  13.         'default_up' => '`id` ASC',
  14.         'default_down' => '`id` DESC',
  15.        );
  16.        
  17.        
  18.        //* $params_get[$_SESSION['sort']];        данный массив вернет значение текущего ключа сессии.
  19.      
  20.        //** Завершение ф-ии фильтра
  21.  

Далее подставляю $params_get[$_SESSION['sort']] в запрос, однако при переключении страниц $params_get[$_SESSION['sort']] возвращает через одну страницу значение 'default_up'. Помогите понять, где моя ошибка? Спасибо
(Добавление)
Сами параметры GET
CODE (html):
скопировать код в буфер обмена
  1. <form method="GET">
  2.          <input type="hidden" name="start" value=<?php echo '"'.$_GET['start'].'"'?>>
  3.  
  4.  
  5.       <li class="menu-item">
  6.          
  7.           <input type="submit" class="table1" name="sort" value="price_up">
  8.       </li>
  9.       <li class="menu-item">
  10.          
  11.           <input type="submit" class="table1" name="sort" value="price_down">
  12.       </li>
  13.       <li class="menu-item">  
  14.          
  15.           <input type="submit" class="table1" name="sort" value="name_up">      
  16.       </li>
  17.       <li class="menu-item">  
  18.          
  19.           <input type="submit" class="table1" name="sort" value="name_down">      
  20.       </li>
  21.      
  22.       <li class="menu-item">  
  23.          
  24.           <input type="submit" class="table1" name="sort" value="default_up">      
  25.       </li>
  26.       <li class="menu-item">  
  27.          
  28.           <input type="submit" class="table1" name="sort" value="default_down">      
  29.       </li>
  30.       <?php
  31.      
  32.      
  33.      ?>
  34.       </form>
 
 Top
LIME
Отправлено: 13 Сентября, 2019 - 15:49:52
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Выброси сессию вообще. Похоже ты не совсем понял.
 
 Top
Nizz
Отправлено: 13 Сентября, 2019 - 15:53:24
Post Id



Гость


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


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




LIME пишет:
Выброси сессию вообще. Похоже ты не совсем понял.

А как мне тогда сохранить параметр GET в url при смене страницы?

Страницы меняет параметр GET['start']
 
 Top
LIME
Отправлено: 13 Сентября, 2019 - 16:03:38
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Вставляй sort в ссылку пагинатора.
 
 Top
Nizz
Отправлено: 13 Сентября, 2019 - 16:22:15
Post Id



Гость


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


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




LIME пишет:
Вставляй sort в ссылку пагинатора.

Так и сделал, однако при смене страниц, срабатывает условие
PHP:
скопировать код в буфер обмена
  1. if(!isset($_GET['sort'])){
  2.        $_GET['sort']='default_up';
  3.        
  4.        }

Как мне правильно написать условие, что бы оно единожды принимало значение в случае если $_GET['sort'] - не существует?
(Добавление)
А нет, все получилось Просто не туда подставил. Спасибо. Как код? Стал лучше чем с POST?
(Добавление)
Подскажите пожалуйста еще последний момент: какими способами проверять GET данные для безопасности?. Спасибо.
 
 Top
LIME
Отправлено: 14 Сентября, 2019 - 13:17:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Nizz пишет:
Стал лучше чем с POST?
в некоторой степени.
Nizz пишет:
какими способами проверять GET данные для безопасности?
у тебя xss
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB