Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2010, 07:24   #1
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию Почему не работают сессии?

Здравствуйте! Я столкнулся с проблемой, написал 2 скрипта index.php и admin.php, но во 2 не работают сессии
index.php
PHP код:
<?php

if (!isset($_POST['admlogin'])){

    echo 
join('',file('../html/header.htm'));

    echo 
join('',file('html/login.htm'));

    echo 
join('',file('../html/footer.htm'));

    }

    else

    {

    include (
"config.php");
    if(!
mysql_connect($HOST,$USER,$PASS)) die ('Error');

    
mysql_select_db($DB);
    
$SQL="

    select pass from admins where login=\""
.$_POST['admlogin']."\"";

    
$r=mysql_query($SQL);
    
$f=mysql_fetch_array($r);

    if (
$f['pass']===md5($_POST['admpass'])){

        
mt_srand(time() + (double)microtime()*55);

        
$N=mt_rand(0,999);
        
$sname=$_POST['admlogin'].$N;
        
session_name($sname);

        
session_start();

        
session_register("auth","username","password");
        
$auth=1;

        
$username=$_POST['admlogin'];

        
$password=md5($_POST['admpass']);
        
$url='admin.php?sname='.$sname;

        
header("location: ".$url);

        

    }

    else
    die(
'<b><strong>Что вы здесь забыли?!</strong></b><br>Вы ввели неправильную пару логин/пароль');

    }

?>
admin.php
PHP код:
<?php    
if (!isset($_REQUEST['sname'])) die ('Данный сценарий нельзя запускать напрямую!');
    
$sesname=$_REQUEST['sname'];
    
session_name($sesname);
    
session_start();
    echo 
"A:".$auth."<br>";
    echo 
"A2:".$_SESSION['auth']."<br>";    
    if (
$auth!=1){
        
        
/*$url='index.php';

        header("location: ".$url);    */
            
echo "Else:OK<br>";
        echo 
$auth."<br>";
        echo 
$password."<br>";
        echo 
$username."<br>";
    }
    else
    {
        echo 
"Ok";
    }
?>
В чем проблема? Простите за беспорядок... Не выводит переменные в админе, хотя в индексе эти переменные после того как я задал они спокойно выводятся из сессии.

Последний раз редактировалось Яр|/||< (^_^); 14.07.2010 в 07:29.
Яр|/||< (^_^) вне форума Ответить с цитированием
Старый 14.07.2010, 07:42   #2
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

А как данные передаются в admin.php? Ну я почти ничего не знаю еще, поэтому если на это есть тривиальный ответ, то напиши.
Krasi вне форума Ответить с цитированием
Старый 14.07.2010, 07:49   #3
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

Через супер глобальный массив $_REQUEST... Если бы был тривиальный ответ, то темы бы не было
Яр|/||< (^_^) вне форума Ответить с цитированием
Старый 14.07.2010, 10:31   #4
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

http://www.php.net/manual/en/functio...n-register.php
Цитата:
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
Таким образом возникает вопрос. Где переменной auth в сессии присваивается значение?
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 14.07.2010, 10:48   #5
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

в index.php или нужно обращатся через $_SESSION?
Яр|/||< (^_^) вне форума Ответить с цитированием
Старый 14.07.2010, 11:41   #6
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Ну вообще да, с переменными в сессии нужно работать через $_SESSION.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 14.07.2010, 12:36   #7
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

Спасибо! + вам, а в книге написано типа так, как написано в моих исходниках
Яр|/||< (^_^) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему две программы с инди одновременно работают некорректно? TwiX Работа с сетью в Delphi 1 12.12.2009 15:22
Сессии L_M PHP 3 06.06.2009 10:27
Почему не работают модули в Delphi7: DXClass, DXSprite, DXDraws, ExtCtrls, StdCtrls Mclaren Помощь студентам 3 02.05.2009 15:13
Сессии limon PHP 19 29.11.2008 22:46