Возникла необходимость написать движок для одного интернет-проекта, кода-то давно я немного кодил, но опыта, особо, не накопил. Трудность в том, что очень критична скорость работы скриптов и вопрос информационной безопасности.
Общий смысл файла index.php:
1. Определяем, авторизован ли пользователь (получаем права и прочую информацию, которая потом пригодится).
2. Определяем, язык на котором выводим контент (если пользователь авторизован, у него в настройках указан язык).
3. По URI находим контент в БД (получаем тип страницы и прочую информации, которая потом пригодится).
4. Подключаем модуль, соответствующий типу страницы (каталог, галерея, контент, ...).
Если не сложно, посоветуйте, пожалуйста, как оптимизировать код и, возможно, структуру движка.
index.php:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?
- /******************** VARIABLES ********************/
- $db_host = "localhost";
- $db_port = "3306";
- $db_user = "root";
- $db_pass = "";
- $db_base = "test";
- $d_language = "en"; // Default language value.
- $d_urn = "main"; // Default URN value.
- /******************** DB ********************/
- /******************** USER ********************/
- $user_data = $d_user_data;
- $sql = mysql_query("SELECT * FROM `users` WHERE user = `".mysql_escape_string($_SESSION['user'])."' AND pass = '".mysql_escape_string($_SESSION['pass'])."' LIMIT 1") or die(mysql_error());
- }
- }
- $_SESSION['user'] = $_POST['user'];
- $sql = ("SELECT * FROM `users` WHERE user = '".mysql_escape_string($_POST['user'])."' AND pass = '".mysql_escape_string(md5($_POST['pass']))."' LIMIT 1") or die(mysql_error());
- }
- }
- }
- /******************** LANGUAGE ********************/
- $language = $d_language;
- if ($user_data != $d_user_data) {
- $language = $user_data[4]; // $user_data[4] = language
- $sql = mysql_query("SELECT * FROM `languages` WHERE language = '".mysql_escape_string($_SESSION['language'])."' LIMIT 1") or die(mysql_error());
- $language = $_SESSION['language'];
- }
- }
- }
- $sql = mysql_query("SELECT * FROM `languages` WHERE language = '".mysql_escape_string($_POST['language'])."' LIMIT 1") or die(mysql_error());
- $_SESSION['language'] = $language = $_POST['language'];
- }
- }
- }
- /******************** PAGE ********************/
- $urn = $d_urn;
- $urn = $_GET['urn'];
- }
- $sql = mysql_query("SELECT * FROM `pages` WHERE `urn` = '".mysql_escape_string($urn)."' LIMIT 1") or die(mysql_error());
- $urn = $d_urn;
- $sql = mysql_query("SELECT * FROM `pages` WHERE `urn` = '".mysql_escape_string($urn)."' LIMIT 1") or die(mysql_error());
- }
- /******************** INCLUDE ********************/
- $path = "/home/localhost/subdomain/";
- include $path.$page_data[1].".php"; // $page_data[1] = type
- /******************** DB ********************/
- ?>