<?php session_start();
$name = $_POST["name"];
$password = $_POST["password"];
$submit = $_POST["submit"];
$_SESSION["error"] = "";
if (isset($_GET["do"]) and $_GET["do"]=="login")
{
$content = 'login.tpl';
}
else
{
$content = 'content.tpl';
}
if (isset($_SESSION["logged_user"]))
{
header("Location: index.php");
if (isset($_GET["do"]) and $_GET["do"]=="logout")
{
session_destroy();
header("Location: index.php?do=login");
}
}
else
{
header("Location: index.php?do=login");
if($submit){
if(($name=="admin")&&($password=="zzz"))
{
$_SESSION["logged_user"] = $name;
header("Location: index.php");
exit;
}
else
{
$_SESSION["error"] = "<br><div class='error'>Имя или пароль введены не правильно!</div>";
}
}
}
define("ROOT", dirname(__FILE__));
include_once(ROOT . "/classes/templates.php");
$tpl = new Template; //инициируем класс
$tpl->dir = 'templates'; //задаём местоположение папки с шаблонами
$tpl->load_template('main.tpl'); //загружаем каркас
$tpl->set('{content}', $tpl->sub_load_template($content)); //подключаем код блока
//подставляем значения переменных
$tpl->set('{user_name}', $_SESSION["logged_user"]);
$tpl->set('{title}', 'Титл)');
$tpl->set('{error}', $_SESSION['error']);
$tpl->compile('main'); //собираем шаблон
echo $tpl->result['main']; //выводим результат работы
$tpl->global_clear(); //очищаем все переменные для возмож
?>
Спустя 7 минут, 18 секунд (26.12.2011 - 09:01) alexbel2404 написал(а):
а переадресовывает куда? в этот файл?
Спустя 2 минуты, 21 секунда (26.12.2011 - 09:03) xew написал(а):
Да. На опере загружает нормально только с задержкой а в Сафари Хром и Мозиле пишет "На этой странице обнаружена циклическая переадресация" !
Как я понимаю проблема вот здесь:
Но если не сделать этой проверки то в content можно попасть просто написав index.php ((
Как я понимаю проблема вот здесь:
if (isset($_SESSION["logged_user"]))
header("Location: index.php");
if (isset($_GET["do"]) and $_GET["do"]=="logout")
{
session_destroy();
header("Location: index.php?do=login");
}
}
else
{
header("Location: index.php?do=login");
if($submit){
if(($name=="admin")&&($password=="zzz"))
{
$_SESSION["logged_user"] = $name;
header("Location: index.php");
exit;
}
else
{
$_SESSION["error"] = "<br><div class='error'>Имя или пароль введены не правильно!</div>";
}
}
}
Но если не сделать этой проверки то в content можно попасть просто написав index.php ((
Спустя 1 час, 44 минуты, 5 секунд (26.12.2011 - 10:47) alexbel2404 написал(а):
if (isset($_SESSION["logged_user"]))
header("Location: index.php");
вот тут, если ты авторизован, то все время будет переадресовывать на index.php, конечно если код, который ты показал из файла index.php
header("Location: index.php");
вот тут, если ты авторизован, то все время будет переадресовывать на index.php, конечно если код, который ты показал из файла index.php
Спустя 3 часа, 31 секунда (26.12.2011 - 13:48) xew написал(а):
спс да чет я тут протупил ) сделал так переместил строки:
в auth.php
но вот теперь не знаю как мне сделать так чтобы контент не показывался если человек не залогинен если просто перейти по ссылке index.php
<?php session_start();
$name = $_POST["name"];
$password = $_POST["password"];
$submit = $_POST["submit"];
$_SESSION["error"] = "";
if (isset($_SESSION["logged_user"]))
{
header("Location: index.php");
if (isset($_GET["do"]) and $_GET["do"]=="logout")
{
session_destroy();
header("Location: index.php?do=login");
}
}
else
{
header("Location: index.php?do=login");
if($submit){
if(($name=="admin")&&($password=="mapping"))
{
$_SESSION["logged_user"] = $name;
header("Location: index.php");
exit;
}
else
{
$_SESSION["error"] = "<br><div class='error'>Имя или пароль введены не правильно!</div>";
}
}
}
?>
в auth.php
но вот теперь не знаю как мне сделать так чтобы контент не показывался если человек не залогинен если просто перейти по ссылке index.php
Спустя 28 минут, 33 секунды (26.12.2011 - 14:16) alexbel2404 написал(а):
if (!isset($_SESSION['logged_user']))
{
header("Location: auth.php");
}
вставь в index.php
Спустя 18 минут (26.12.2011 - 14:34) xew написал(а):
if (!isset($_SESSION['logged_user']))
{
header("Location: auth.php");
}
Опять таки циклическая переадрессация. (( Видимо без файла login.php тут не обойтись ?
Спустя 3 часа, 41 минута, 43 секунды (26.12.2011 - 18:16) Guest написал(а):
Сразу после header нужно ставить либо die() либо exit; на ваш вкус

Спустя 15 часов, 2 минуты, 49 секунд (27.12.2011 - 09:19) xew написал(а):
спс за помощь die не помогло придумал кое что другое )))