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


Автор: serkap 14.6.2008, 12:04
Существует главная страница- index.php
нужно чтобы, если посетитель пришел по ссылкам из других сайтов 
или из поисковиков на второстепенные страницы сайта, 
то чтобы его перебросило на главную страница сайта index.php .
Тоесть чтобы путешествие посетителя начиналось  именно с главной страницы сайта.
А если он уже зашел на главную, то с главной ему можно гулять по сайту
куда угодно.


Думаю реализовать это с помощью сесий. Например на главной будет стоять следующий код:

index.php
Код

<?
session_name("layya");
session_start();
session_register("promise");
?>


А на остальных нужно делать проверку задана ли сессия такая то, и если нет то перебросить 
на главную страницу.


Код

<?php
session_start();
if (!isset($promise))
 {
   header ("Location: index.php");
 }

?>


Переход на файл index.php осуществляеться,  а второй момент не получаеться, когда типа сессия уже зарегистрирована и должна грузиться любая страница, то этого не происходит, все равно переходит переброс на главную. Подскажите пожалуйста почему.



M
MoLeX
Модератор: используем кнопку КОД

Автор: Sannis 14.6.2008, 12:24
Потому что стоит попробывать воспользоваться массивом SESSION, насколько я знаю, на сессионные переменные тоже распространяется register_globals, нужно от этого отвыкать.

Автор: serkap 14.6.2008, 12:36
А как это будет выглядеть практически?

Автор: Sannis 14.6.2008, 12:39
Мне кажется, или вам уже http://forum.vingrad.ru/index.php?showtopic=216534&view=findpost&p=1548674? smile

Автор: serkap 14.6.2008, 12:45
да, но он у меня не срабатывает


Код

session_start();
$_SESSION["start"] = 1;


а на всех остальных страницах

Код

session_start();
if(empty($_SESSION["start"]) {
  header("Location index.php");
}


Добавлено @ 12:47
если есправить ошибку то будет так:

Код

session_start();
$_SESSION["start"] = 1;


а на всех остальных страницах

Код

session_start();
if(empty($_SESSION["start"])) {
  header("Location index.php");

Автор: Sannis 14.6.2008, 12:59
Код

header("Location: index.php");

;)

Добавлено через 41 секунду
Всёже, уделите время чтению мануалов по теи функциям, что вы используете smile

Автор: serkap 14.6.2008, 13:06
а так?



Код

session_start();
$_SESSION["start"] = 1;



а на всех остальных страницах

Код

session_start();
if(empty($_SESSION["start"]) {
  header("Location: [URL=http://www.index.php&quot;);]http://www.index.php");


}



Автор: Sannis 14.6.2008, 13:07
Да.

Автор: MoLeX 14.6.2008, 13:09

M
MoLeX
serkap, отредкатируй свои сообщения с использованием кнопки КОД (JS включи)

Автор: serkap 14.6.2008, 13:20
Работает, Sannis  большое спасибо!

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