Зловещий ноль в GET запросе!

12
4arger
На сайте с 17.12.2008
Offline
95
#11


$p = (string) $_GET['p'];
$p = trim($p);
if (preg_match('/^0{1,}$/', $p)) {
// 404
}
bay_ebook
На сайте с 28.05.2010
Offline
111
#12
rubodon:
У меня ни черта не работает )
Структура примерно такая:
if(get[p]==0) echo 'oshibka 404' // т.е. если есть гет[p] и он = 0 то 404
else {
if(!get[p]) echo 'glavnaya stranica'; // если в адресной строке вообще нет get[p],то грузим главную
}

Ужас, я ведь вроде написал максимально ясно :)


if($_GET['p'] === 0 || $_GET['p'] === '0'){
echo 'oshibka 404'
}elseif(!isset($_GET['p'] ) || !$_GET['p'] ){
echo 'glavnaya stranica';
}else{
echo 'Super glavnaya :) ';
}

ПС внимательно смотрите код, там ===, а не ==, специально записан :)

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
fa2m
На сайте с 07.09.2011
Offline
23
#13

Не нервничайте :) сейчас разберёмся! Давайте сначала, каким образом Вы получаете параметр GET из урла вида site.ru/page/0 ?

P.S. Столько советчиков, аж страшно, у ТС сейчас крыша поедет ))))

---------- Добавлено 02.11.2012 в 01:09 ----------

Для начала сделайте то, что Вам bsyomov порекомендовал в 11 посте

---------- Добавлено 02.11.2012 в 01:12 ----------

bay_ebook:
Ужас, я ведь вроде написал максимально ясно :)

Есть серьёзные подозрения, что никакого $_GET там вообще нет 😂

Встречи в Днепре /ru/forum/736064 (/ru/forum/736064) Беклинк за копейку. Удобный сервис анализа обратных ссылок. (http://backlink.page-weight.ru/)
R
На сайте с 25.08.2012
Offline
16
#14
bay_ebook:

ПС внимательно смотрите код, там ===, а не ==, специально записан :)

Так я схематически написал )

Сейчас я еще кое-что попробую и сообщу о результате

4arger
На сайте с 17.12.2008
Offline
95
#15
rubodon:
У меня ни черта не работает )
Структура примерно такая:
if(get[p]==0) echo 'oshibka 404' // т.е. если есть гет[p] и он = 0 то 404
else {
if(!get[p]) echo 'glavnaya stranica'; // если в адресной строке вообще нет get[p], то грузим главную
}


$p = ( isset($_GET['p']) ? (string) $_GET['p'] : '' );
$p = trim($p);
if (!strlen($p)) {
// home
} elseif (preg_match('/^0{1,}$/', $p)) {
// 404
} else {
// page
}
bay_ebook
На сайте с 28.05.2010
Offline
111
#16
fa2m:

Есть серьёзные подозрения, что никакого $_GET там вообще нет 😂

Вполне возможно, это многое объясняет :)

ТС - как данные получаете, у Вас какая цмс/фреймворк/самопис?

4arger
На сайте с 17.12.2008
Offline
95
#17

ТС, перед условием сделайте


var_dump($_GET); exit();
R
На сайте с 25.08.2012
Offline
16
#18

Коллеги! Ваши примеры работают. Просто я накосячил с логикой. Буду переписывать. Всем спасибо!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий