Меняется константа

zip111

Новичок
Меняется константа

Нужно вытянуть из константы два раза значение, притом оно по идее должно быть одинаковым, ан нет:

PHP:
class general {	
    var $session_id;
    function generate_session_id() {
         return $this -> session_id = md5(rand(1,99999999999));
    }
	
    function show_session_id() {
         define('session_id',$this -> session_id);
    }
	
     function session_start() {
         if (empty($_COOKIE['user'])) {
	setcookie('user', constant('session_id'), 0x7FFFFFFF, "/");
         }
      }
Потом вызываю:

PHP:
$general = new general();
$general -> generate_session_id();
$general -> show_session_id();
$general -> session_start();
include('blabla.php');
blabla.php

PHP:
echo constant("session_id");
Не пойму, почему меняется значение константы и как от этого избавиться???
 

tony2001

TeaM PHPClub
ничего не понял.
как минимум, с чего на что меняется?
зачем этот код - предполагается, что каждый его запустит и посмотрит?
куда смотреть-то ?
 

Dreammaker

***=Ф=***
как видишь, что оно меняется? И что значит? В куках и на выводе разные значения?
 

.des.

Поставил пиво кому надо ;-)
zip111 поспать было бы не плохо и мысли придут ясные.
Меняется потому, что вы каждый раз генерите новое значение для константы. Константа сохраняет значение только на время жизни вашего скрипта. Вы неправильно понимаете значение слова константа в данном контексте.
И не надо изобретать свой "не прямой" механизм сессий.
 

zip111

Новичок
Поспать точно не помешает :(

Проблемма в том, что я при генерации константы указывал md5() а при ее просмотре нет :)
А как раз по поводу, что такое константа я знаю.

Dreamweaker:

Вы говорили то что меня интересовало :)

Ладно всем спасибо! Прошу не считать дебелизмом, просто усталость...

-~{}~ 19.10.05 00:43:

блин даже ник не правильно написал... Сорри :(
 
Сверху