Опять проблема с передачей переменных!! :(

voland

Guest
Опять проблема с передачей переменных!! :(

Опять испытываю проблему с передачей переменных через скрипты и файлы! Все началось снова, после того как я стал инклюдить файлы! Все кто может помогите разобраться, я уже совершенно не знаю в чем причина!
Код index.php
PHP:
<?
$act=$list_Forums;
if($newact) {
        $act=$newact;
        SetCookie("act", $act);
};
session_save_path($TMP);
$TMP="/tmp";
session_start();
session_register("auth");
$auth=$_SESSION['auth'];
require("myglobal.php");
require("config.php");
//if ($action == logout) {$auth=0;}
if ($auth == 1)      {include("$TOP");}
else               {include("$TOP_AUTH");}

if(!$act || $act=="list_forums") {
        include("$LIST_FORUMS");
}
elseif($act=="list_topics") {
        include("$LIST_TOPICS");
}
elseif($act=="list_message") {
        include("$LIST_MESSAGE");
}
include("$DOWN");
//phpinfo();
?>
После заполнения формы (логин и пароль) данные передаються скрипту prot_auth.php
PHP:
<?php
unset($login);
$TMP="/tmp";
session_save_path($tmp);
session_start();
$login = $HTTP_POST_VARS['login'];
$password = $HTTP_POST_VARS['password'];
require("config.php");
session_register("login");
session_register("auth");
mysql_select_db("ourforum") or die("Could not select database");
$query = "select count(*) from users where user_login = '$login' and user_password='$password'";
$result = mysql_query($query) or die("Query failed");
$line = mysql_fetch_array($result, MYSQL_NUM);
    if ($line[0] == 1)
     {$auth="1"; header("Location:http://forum.ru/index.php");}
else
     {$auth="0"; header("Location:http://forum.ru/auth_error.php");}

//   if ($line[0] == 1)
//     {$auth="1";}
//else
//     {$auth="0";}
print($auth);
//phpinfo();
?>
Но верх сайта, на авторизованный не меняеться, помогите пожалуйста!!!!
 

tony2001

TeaM PHPClub
видимо, предполагалось, что все резко начнут разбираться в твоем коде.
однако, ты ошибся.
 

Barlone

Guest
Вопроса не понял, но вот это неправильно:
PHP:
header("Location:<a href="http://forum.ru/index.php" target="_blank">http://forum.ru/index.php</a>")
Должно быть
PHP:
header("Location: http://forum.ru/index.php")
 

tony2001

TeaM PHPClub
если ты опишешь нормально проблему, без больших объемов никому непонятного кода, то тебе помогут.
 

tony2001

TeaM PHPClub
Barlone:
это глюк форума, он урлы в коде подменяет на ссылки.
 

Larson

Новичок
Выкинь session_register()
Во втором файле $_SESSION['auth'] = 1, а не $auth=1
И хеадер замени на header("Location:auth_error.php?" . SID);
 

voland

Guest
Без большого кода моя проблема в том, что я захожу на сайт, если я не авторизован ($auth==0), то вверху сайта висит что ты не авторизован, если же ($auth==1), то верх сайта меняеться и там добавляються новые кнопки! Вверху форма человек вводит в неё логин и пароль, дальше данные передаються файлу prot_auth.php, если остановить редирект и посмотреть переменную $auth, то там она будет меняться в зависимости от того правильный логин и пароль или нет, а вот передать $auth=1 обратно файлу index.php и поменять при проверке верх не могу.
 

RomikChef

Guest
Воланд, а более простой пример у тебя работает?
из трех строчек -
session_start();
echo $_SESSION['i']++;
<a href ="">blabla</a>
 

voland

Guest
Именно этот работает, прибавляет при обновлении страницы по 1 к переменной!
 

voland

Guest
Пожалуйста кто может покажите пример работающего кода
для передачи переменной по сессии другому файлу и возврат обратно
 
Сверху