[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переход по сайту без полной перезагрузки страниц
123456
Хочу сделать, чтоб при переходе по ссылкам на моем сайте страница полностью не перезагружалась, а заменялся лишь определенный блок.

Сейчас у меня весь сайт загружается через один файл index.php

Вот этот index.php

<?php
session_start();
error_reporting(E_ALL);
header('Content-Type: text/html; charset=utf-8');

/***************************/
/** Определяем переменные **/
/***************************/


define ('KEY' , TRUE); // Проверяем существование данной константы на каждой странице
define ('FILE' , dirname(__FILE__)); // Определяем путь к файлу

include_once FILE .'/configuration.php'; // Подключаем файл с настройками
include_once FILE .'/class/class.mail.php'; // Подключаем class для отправки e-mail
include_once FILE .'/mysqli.php'; // Подключаем файл с подключением к mysqli
include_once FILE .'/function.php'; // Подключаем основные функции


$conf_sql = q($link, "SELECT * FROM `". BD_PR ."config` WHERE `id` = '1'");

if (mysqli_num_rows($conf_sql) != 1) die('Config BD error');

$conf = mysqli_fetch_assoc($conf_sql);


$page = !empty($_GET['p']) ? $_GET['p'] : 'main'; // Определяем страницу

$error = null; // Массив с ошибками


// Определяем чья реф ссылка будет показываться


if (isset($_GET['r']))
{
$ref_link = $_GET['r'];
SetCookie("ref_link" , intval($ref_link), time()+(60*60*24), "/");
}
elseif (isset($_COOKIE['ref_link']))
$ref_link = $_COOKIE['ref_link'];

/***************************/
/***** Определяем язык *****/
/***************************/


define ('LANG' , 'ru');

include FILE .'/lang/'.LANG.'/content.php'; // Подключаем оновной языковой файл
include FILE .'/lang/'.LANG.'/category.php'; // Подключаем файл с категориями

/****************************/
/** Проверяем пользователя **/
/****************************/


if (isset($_COOKIE['user_id']) && isset($_COOKIE['user_kash']))
{
$id_sql = q($link, "SELECT * FROM `". BD_PR ."user` WHERE `id` = '". intval($_COOKIE['user_id']) ."'");

if (mysqli_num_rows($id_sql))
{
$user_bd = mysqli_fetch_assoc($id_sql);

if (intval($_COOKIE['user_id']) == $user_bd['id'] &&
bd_passw($_COOKIE['user_kash'] . bd_passw(GetRealIp() . $_SERVER['HTTP_USER_AGENT'])) == $user_bd['kash'] &&
$user_bd['stat'] == 1)
{
$user_no = true;

if ($user_bd['stat_email'] != 2 && $page != 'act' && $page != 'exit')
{
header("Location: /act.html");
exit();
}
else
q($link, "UPDATE `". BD_PR ."user`
SET `last_time` = '"
.time()."',
`ip` = '"
. mysqli_real_escape_string($link, GetRealIp()) ."'
WHERE `id` = '"
.$user_bd['id']."'");
}
}


if (!isset($user_no))
include FILE .'/inc/exit.php';
}

/****************************/
/**** Открываем страницу ****/
/****************************/


if (file_exists (FILE .'/inc/'.$page.'.php') )
include FILE .'/inc/'.$page.'.php';
else
{
header("HTTP/1.1 404 Not Found");
die(file_get_contents('./404.html'));
}



Файлы в папке /inc/ примерно такого содержания:

<?php
Подключаем файл с языком для этой страицы

КАКОЙ-ТО СКРИПТ С ЭТОЙ СТРАНИЦЫ

Загружаем верхнюю часть шаблоны header;

ТУТ ВЫВОДИМ РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ СКРИПТА Т.Е. КОНТЕНТ ЭТОЙ СТРАНИЦЫ

Загружаем нижнюю часть шаблоны footer;
?>





как мне лучше сделать переходы по сайту без перезагрузки страниц?

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.