Вопрос-Ответ по php

Печать RSS
6590
Кураторы темы:

М

Пацак
0
Страница разбивается на несколько блоков. Как лучше и безопаснее сделать?

///////////////////1й способ
В начале проверять (как в движке rotorcms)

if (isset($_GET['act'])) {
$act = check($_GET['act']);
} else {
$act = 'index';
}

потом:

switch ($act):
case "index":
break;

case "page2":
break;

///////////////////2й способ

switch($_GET['act']){
default:
break;

case 'page2'"
break;

}

ведь все-равно если плохой человек надумает что-то пропихнуть в act, его выкинет на default'ую страницу, или же нет? =)

ツ ツ ツ
0
3830. mides, Первый это гк =), второй верный, только ещё бы проверить на существование $_GET['act'] чтоб нотики не вылазили если они включены
Изменил: Lugaro (01.10.2010 / 20:21)
М

Пацак
0
3831. .::lugaro::., ну нотики (ты имеешь в виду ошибки?) не должны вылезти, т.к. они выключены еще в файле, который инклудится в самом начале
Изменил: Михаил (01.10.2010 / 20:25)
Н

Землянин
0
$acts = array('index','page1','page2'); // Необходимые акты
if(isset($_GET['act'])) {
$act = $_GET['act'];
}
else {
$act = 'index';
}
/*Ну и так сказать от плохих людей*/
if(!in_array($act,$acts)) {
exit('Не балуйся!');
}
else {
switch($act) {

case 'page1':
...............
break;

default:
........
}
}
Такой вот изощренный способ можно заюзать :-D
М

Пацак
0
Почему или в каком случае может не работать переадресация?
header("Location: ../");
exit;
здесь страница с кодом
http://upwap.ru/1058396
Изменил: Михаил (02.10.2010 / 11:55)
A

Оранжевые штаны
0
Примечание: HTTP/1.1 требует абсолютного URI в качестве аргумента для Location: включая схему, имя хоста и абсолютный путь, но некоторые клиенты принимают относительные URI.

http://php.su/functions/?f=header&choice=info
М

Пацак
0
3835. Azzido, писал абсолютный путь, все-равно не отправляет
М

Пацак
0
объясните, пожалуйста, этот код, что он деалет я знаю, но как он это делает - нет. Например, для чего "%" и "?" ?
$row_class = (!($num % 2)) ? 'row1' : 'row2';
Изменил: Михаил (02.10.2010 / 13:49)
A

Оранжевые штаны
0
3836. mides, значит прописано не до первого вывода в браузер, буферизация тебе в помощь
М

Пацак
0
Как можно запретить использовать русские символы, т.е. как сделать проверку на русские символы?
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск