[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переход на страницу только с одним параметром GET
Страницы: 1, 2
r3al
если не существует $_GET['page'] или значение $_GET['page'] не найдено в массиве $pages, присваиваем переменной $page значение index, иначе присваиваем значение $_GET['page']

эта конструкция аналогична этой (просто короче):

if ( !isset($_GET['page']) || !in_array(strtolower($_GET['page']), $pages) ) { 
$page = 'index';
} else {
$page = $_GET['page'];
}

опускаем буквы в нижний регистр что бы страницы index InDex INDEX были одинаковыми
MailRes
Про форму поиска понятно)) Есть познания, непонятно было со структурой в передаче параметров, хотя пару раз мысль посещала, но мельком. А я как обычно зациклился на одном решении и сижу часами думаю)))) Спасибо! Буду пробовать!
MailRes
Цитата
эта конструкция аналогична этой (просто короче):

Как раз про неё думал, т.к. она для меня более понятная))
r3al
не за что, что бы у тебя в будущем не возникало желания делать не понятные штуки, скачай себе известные скриптовые движки, например DataLifeEngine, phpBB, ipb, wordpress и посмотри что делают разработчики со стажем.
если попроще, то тот же stressweb можешь скачать - для новичков самое то, что бы в чужом говнокоде разобраться и запомнить для себя как делать не нужно))
MailRes
Обязательно отпишусь о результатах и поставлю "+" smile.gif
r3al
хрен с ним с плюсом, я ежели тут задержусь потом хотел бы готовый вариант магаза глянуть, пентесты провести.. )))
MailRes
ой не знаю когда будет готовый релиз, чтобы можно было им пользоваться))) т.к. занимаюсь не каждый день, но в планах вот-вот уже хочется запустить)))
скорее всего будет сначала "минимальная" версия, с которой можно будет работать, а затем будет обрастать различными настройками, фишечками)))
r3al
могу пожелать тебе только удачи в твоих начинаниях)) не забывай фильтровать переменные от пользователя, а то быстро поломают всё )) я побрел своё писать, а то тут то вконтакт никак не отпускают меня)))
MailRes
Это уж понял))) Что без фильтрации входных данных - никуда нельзя))) Мигом всё рухнет))) Еще раз спасибо!
Игорь_Vasinsky
это тернарный оператор - который надо бы вот так написать, а не париться

$page = isset($_GET['page'])  ? $_GET['page'] : 'index';


если нет $_GET['page'] - то $page = index

потом в switch->case с default значением и усё. чё мудрить то

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
r3al
че мудрить то?)) ну да.. это был частный случай, потому что я так делаю:

$pages = Array('index', 'member');
$page = !isset($_GET['page']) || !in_array($_GET['page'], $pages) ? 'index' : $_GET['page'];

require_once ENGINE . DIRECTORY_SEPARATOR . $page . '.php';

расширяю страницы добавлением в $pages и отдельно описываю её.
MailRes
Попробовал)) Прикольно, теперь выводит только одну страницу, а не все сразу)))

Но есть "промах" (пока не понял как лечить, а может и не лечится?), допустим есть ссылки:
<a href="index.php?page=index">Главная страница</a>
<a
href="index.php?page=items">Товары</a>
<a
href="index.php?page=cart">Корзина</a>
<a
href="index.php?page=search">Поиск</a>
<a
href="index.php?page=other">Любая другая страница</a>


Если в адресной строке набрать "index.php?page=items&page=cart&page=какое-то_значение", тогда переменная $page примет последнее значение из адресной строки - это неизбежно?)
r3al
да, такого url вообще быть никогда не должно, если конечно ты не руками это делаешь, при каких условиях такое возникает я даже представить не могу..

хотя появилось предположение что ты используешь $_SERVER['PHP_SELF'] при генерации ссылок.
MailRes
долго меня не было, видимо праздники)))

Цитата
если конечно ты не руками это делаешь


руками, только руками))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.