$go = empty($_GET['go']) ? 'main' : $_GET['go'];
switch ($go)
{
case ('main'):
break;
case ('reg'):
break;
default;
// всё суда если выше не попало
}
include('/templates/tpl/index.php');
index.php
<?PHP include ($go.'.php'); ?>
если ссылка срабатывает вид такой
site.ru/index.php?do=reg
то выводит регистрацию ..
А вот если сюда хочю вставить данные любые в go=запрос к бд попадает в default и дальше выводит ошибку
Warning: include() [function.include]: Failed opening '12.php' for inclusion
С ней всё понятно что 12 и тд. нету после go , а как решить эту проблему ?
Всё что не попало в case попадает в default обрабатывался БД.
Я подозреваю что нужно сделать проверку в index .php тут
<?PHP include ($go.'.php'); ?>
Не можно решить проблему просто вот так .
switch ($go)
{
case ('main'):
break;
case ('reg'):
break;
default;
include('/templates/tpl/default.php');
exit;
}
include('/templates/tpl/index.php');
Тогда в дефаулте можно сделать запрос к бд , а как можно сделать по другому ?
Спустя 6 минут, 30 секунд (3.06.2012 - 14:39) inpost написал(а):
ничего не понимаю. Код показывай лучше
Спустя 21 минута, 44 секунды (3.06.2012 - 15:01) fortuna написал(а):
inpost
Там кода нету вообще , я всё выложил .. ща обьясню по другому .
вот ссылка .
site/index.php //main главная
Она подгружает данные (новости к примеру)
site/index.php?go=reg
Подгружает регистрацию .
Это всё срабатывает case .
А вот по данной ссылке хочу сделать запрос к БД .
site/index.php?go=//тут все что угодно может быть что не попало в case
Это уже будет срабатывать default . И он приведёт к ошибке .. так как
go=4383284 // к примеру
А 4383284 нет такого файла .
В папке 3 файла .
index.php Это главная страница
main = шаб
reg = регис.
как видно если я напишу ересть в go=eens то он выводит что нет файла eens.php , а мне не нужно чтобы он это выводит , а срабатывала БД .
Как я выше написал можно сделать вот так .
То если не чего не попало в case он выведет db_vivod.php который уже будет в папке с другими файлами , а там я буду делать запрос .
Но тут одна проблема мне нужно весь шаблон из index.php копировать и вставлять в db_vivod.php
Там кода нету вообще , я всё выложил .. ща обьясню по другому .
вот ссылка .
site/index.php //main главная
Она подгружает данные (новости к примеру)
site/index.php?go=reg
Подгружает регистрацию .
Это всё срабатывает case .
А вот по данной ссылке хочу сделать запрос к БД .
site/index.php?go=//тут все что угодно может быть что не попало в case
Это уже будет срабатывать default . И он приведёт к ошибке .. так как
go=4383284 // к примеру
А 4383284 нет такого файла .
$go = empty($_GET['go']) ? 'main' : $_GET['go'];
switch ($go)
{
case ('main'):
//тут функция
break;
case ('reg'):
//тут функция
break;
default;
}
include ($go.'.php');
В папке 3 файла .
index.php Это главная страница
main = шаб
reg = регис.
как видно если я напишу ересть в go=eens то он выводит что нет файла eens.php , а мне не нужно чтобы он это выводит , а срабатывала БД .
Как я выше написал можно сделать вот так .
$go = empty($_GET['go']) ? 'main' : $_GET['go'];
switch ($go)
{
case ('main'):
//тут функция
break;
case ('reg'):
//тут функция
break;
default;
include(db_vivod.php);
exit();
}
include ($go.'.php');
То если не чего не попало в case он выведет db_vivod.php который уже будет в папке с другими файлами , а там я буду делать запрос .
Но тут одна проблема мне нужно весь шаблон из index.php копировать и вставлять в db_vivod.php
Спустя 4 часа, 45 минут, 24 секунды (3.06.2012 - 19:46) inpost написал(а):
php.net, смотри синтаксис include, switch...
Зачем весь шаблон копировать?! Ничего не понимаю, он итак работает, это же не редирект у тебя.
Зачем весь шаблон копировать?! Ничего не понимаю, он итак работает, это же не редирект у тебя.
Спустя 1 день, 16 часов, 23 минуты, 33 секунды (5.06.2012 - 12:10) fortuna написал(а):
Решил свою проблему ещё вчера .
Вставил в шаб index.php , если из свитча не чего не попадает то делаем подключение .
$arr = array('main','reg');
if(in_array($go,$arr))
{
include ($go.'.php');
}
else
{
echo"Подключение к бд , запрос .";
}
Вставил в шаб index.php , если из свитча не чего не попадает то делаем подключение .