[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблема с глобальной переменной!
vovabraga
Возникла проблема с глобальной переменной.

в файле index.php, login.php, id.php влючен файл vars.php следующим образом :

require_once(dirname(__FILE__) . '/includes/vars.php');

содержимое файла vars.php :

$cur_page_link = 'any.php';


$cur_page_link - глобальная переменная в которой хранится текущая страница.

в файле index.php и id.php сохраняется значение текущей страницы следующим образом :

global $cur_page_link;
$cur_page_link = 'index.php';

или

$GLOBALS ["cur_page_link"] = 'index.php';

- пробовал эти 2а варианта

это для index , для id соотвественно 'id.php'

в файле login.php выводим значение переменной $cur_page_link на экран.

провожу эксперимент: захожу на id.php, $cur_page_link становится равным 'id.php', после этого перехожу на страницу login.php, а значение $cur_page_link берется из файла vars.php и равно : 'any.php'

Вопрос:
Где ошибка, это же глобальная переменная, значение присваивается, но потом берется из vars.php?





Спустя 12 часов, 23 минуты, 40 секунд (2.07.2010 - 07:51) linker написал(а):
Используйте сессию, для хранения ссылки на предыдущую страницу.
Файл index.php
session_start();
$_SESSION["cur_page_link"] = basename(__FILE__);

Файл login.php
session_start();
if (isset($_SESSION["cur_page_link"])) echo $_SESSION["cur_page_link"];

Спустя 57 минут, 32 секунды (2.07.2010 - 08:49) tomash написал(а):
Сделайе в файле vars таким образом:

$cur_page_link = (!isset($cur_page_link))?'any.php':$cur_page_link;

Спустя 19 минут, 39 секунд (2.07.2010 - 09:08) linker написал(а):
Глобальные переменные - это зло, столько мучений из-за плевого дела.

Спустя 32 минуты, 59 секунд (2.07.2010 - 09:41) vovabraga написал(а):
Цитата (linker @ 2.07.2010 - 04:51)
Используйте сессию, для хранения ссылки на предыдущую страницу.
Файл index.php
session_start();
$_SESSION["cur_page_link"] = basename(__FILE__);

Файл login.php
session_start();
if (isset($_SESSION["cur_page_link"])) echo $_SESSION["cur_page_link"];

Не подходит сессия !
Там еще предусмотрено Logout - очистка сессии.

Может есть проверенные варианты сохранения страницы. В данном случае интересует, чтобы пользователь после входа с паролем переходил на последнюю станицу с информацией, но не login.php

Спустя 14 минут, 36 секунд (2.07.2010 - 09:56) linker написал(а):
А чем не подходит:
Файл index.php
session_start();
$_SESSION['cur_page_link'] = $_SERVER['HTTP__HOST'] . $_SERVER['REQUEST_URI'];
if (!$IsLogin) { header('Location: login.php'); }

Файл login.php
session_start();
if ($IsLogin)
{
if (isset($_SESSION['cur_page_link'])) { header('Location: ' . $_SESSION['cur_page_link']); }
header('Location: index.php');
}
Осталось тока оптимизировать
Быстрый ответ:

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