Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Надо сообразить скриптик...


Автор: PCproMan 25.3.2005, 17:36
Привет Программистам! У меня какая проблема, блин, написал движок, как всегда...
Самый приметивнейший, так-то работаен, но:
с таким индексом - index.php?module=3

а с таким:
.../движок/index.php - есесено выдает пустой индекс без стартовой страницы.
Так вот непарит if, else, для вклейки адреса, посоветуйте, как лучше...
надо сделать так: если .../движок/index.php или module=0, вклеивался модуль индекс...

Код
<?php 
if($module=="" or $module=="index" or $module=="1" or $module=="2" or $module=="3")
{
include ("includes/titles.php"); 
@include ("modules/$module.php");
}
else
print"<font color=\"#FF0000\">Данный модуль не найден!</font>";
?>


smile

Автор: PARROT 25.3.2005, 20:29
Код

<?
include "includes/title.php"; # Прикрепляем страницу с титлами
include "includes/keywords.php";
include "includes/description.php";

if (!isset($_GET['page'])) { 
    $page="about"; # С этой страницы стартует сайт. Т.е. если $_GET['page'] не существует
} else { 
    $page = $_GET['page']; 
} 

if (!isset($title[$page])) $page="404"; # Если такой страницы нет на сервере

?>
<html>
<head>
</head>
<body>
<? include 
    "includes/top.php" # Вставляем верхнее меню
?>
<? 
    include "pages/".$page.".php" # Вставляем содержимое страницы 
    ?>
<? 
include "includes/bottom.php" # Вставляем левое меню 
?>

Автор: Mont 26.3.2005, 08:20
Делай case на перебор вариантов, а по дефолту индекс:
Код

switch ($_GET['page']){
    default:
          include ("mod_index.php");
          break;     
     case '1':
          include ("mod_1.php");
          break;
    ... и т.д.
}


если модулей много, то можно и включать его в название файла (как у тебя), НО!!!! ОБЯЗАТЕЛЬНА проверка!!!

Автор: Opik 26.3.2005, 09:38
PARROT
лучше сделать так:
Код

if (!isset($_GET['page']) && empty($_GET['page'])) { 

да и вообще никакой обработки нет.
надо как минимум делать:
Код

$page = basename($_GET['page']); 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)