Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с сессиями, Пишет пустые значения 
:(
    Опции темы
IZ@TOP
  Дата 9.9.2003, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



В общем глюк такой:
При проверке пароля логина и прав доступа, скрипт пишет либо сессии (без куков) либо куки, в данном случае тестим с сессиями.
В файл сессий пишутся переменные авторизации - !AV_LEVEL|!AV_LOGIN|!AV_PASWD| - то есть при повторном обращении из скрипта не видно этих переменных ... и авторизация провалена, надо снова набирать пароль ... но после того как записываем авторизацию с помощью куков, оставляем куки и включаем сессии то только тогда работает ....

session.use_only_cookie = 0;
session.use_cookie = 0;

По смыслу я хочу добиться что бы РНР вел сессии по УРЛ ... и в урл все вставляю, то ли это session_register() глючит то ли еще чего ...

ХЕЛП !


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Master
Дата 9.9.2003, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



бррр...
давай весь код авторизации


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
IZ@TOP
Дата 9.9.2003, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
давай весь код авторизации

А не жирно будет ? )))) Шутка ... завтра выложу biggrin.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
IZ@TOP
Дата 9.9.2003, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



А вообще может это быть из-за того что переменные регистрируются из класса ? Хотя все они определены как надо ...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
DENNN
Дата 9.9.2003, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Код выкладывай smile.gif
PM ICQ   Вверх
IZ@TOP
Дата 9.9.2003, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
Код выкладывай

Завтра все будет !

А Вы все равно пока подумайте по каким причинам может происходить обнуление переменных ...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
arial
Дата 9.9.2003, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: 6
Всего: 7



Сделай в php.ini session.use_trans_sid = 1


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
IZ@TOP
Дата 10.9.2003, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



arial Это я знаю, и у меня в скрипте ини сет с этим параметром стоит !
В общем смотите код и думайте где я лажу допустил ...

Код

<?php
// GLOBAL MODULE
//error_reporting(7);

DEFINE("D__CHMOD",0700);
DEFINE("F__CHMOD",0666);
DEFINE("DB__ROOT","{$HTTP_SERVER_VARS['DOCUMENT_ROOT']}/access/db_access/");
DEFINE("ST__ROOT","");

class access {

var $access_level;
var $access_paswd;
var $access_login;
var $conf;
var $ENV;
var $FILE;

function __init() {
 GLOBAL $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_SESSION_VARS, $HTTP_SERVER_VARS, $HTTP_COOKIE_VARS;
 $this->ENV = Array("GET"=>$HTTP_GET_VARS, "POST"=>$HTTP_POST_VARS, "SESSION"=>$HTTP_SESSION_VARS, "SERVER"=>$HTTP_SERVER_VARS, "COOKIE"=>$HTTP_COOKIE_VARS);
 if(!is_dir(DB__ROOT)) {
  mkdir(DB__ROOT, D__CHMOD);
 } else {
  if(!is_writeable(DB__ROOT)) {
   chmod(DB__ROOT, D__CHMOD);
  }
 }
 $db = dir(DB__ROOT);
 while($f = $db->read()) {
  $key = strtoupper(trim(str_replace(".data","",$f)));
  $this->FILE[$key] = trim($f);
 }
 if(!isset($this->FILE['CONFIG'])) {
  $f = @fopen(DB__ROOT."config.data", "w+") or die("FAILED OPEN FILE -> line: ".__LINE__."; file: ".__FILE__);
  chmod(DB__ROOT."config.data", F__CHMOD);
  fclose($f);
  $f = @fopen(DB__ROOT."users.data", "w+") or die("FAILED OPEN FILE -> line: ".__LINE__."; file: ".__FILE__);
  chmod(DB__ROOT."users.data", F__CHMOD);
  fclose($f);
  header("location:".ST__ROOT."admin.php?INSTALL");
  exit();
 }
 $i = 0;
 $line = @file(DB__ROOT.$this->FILE['CONFIG']);
 while($i < count($line)) {
  $ex = explode("=", $line[$i]);
  $this->conf[trim($ex[0])] = trim($ex[1]); $i++;
 }
 $i = 0;
 $line = @file(DB__ROOT.$this->FILE['USERS']);
 while($i < count($line)) {
  $ex = explode("`+", $line[$i]);
  $this->users[trim($ex[0])]['LEVEL'] = trim($ex[1]);
  $this->users[trim($ex[0])]['PASWD'] = trim($ex[2]);
  $this->users[trim($ex[0])]['LOGIN'] = trim($ex[0]);
  $i++;
 }
 unset($line, $ex, $f);
 ini_set("session.use_trans_sid",1);
 ini_set("session.name", "sessid");
 ini_set('session.use_cookies',0);
 ini_set('session.use_only_cookies',0);
 ini_set("session.gc_max_lifetime", $this->conf['SESSION_LIFETIME']);
 session_start();
}

function _lock($reason) {
 $reason = "REASON_LOCK_FROM_{$reason}";
 ?>
 <title>
 Доступ закрыт !
 </title>
 <table align="center" style="font-family: Tahoma; font-size: 10px" border="0">
    <tr>
     <td><b>Доступ закрыт !</b></td>
    </tr>
    <tr>
     <td><?php echo $this->conf[$reason]; ?></td>
    </tr>
    <tr>
     <td><a href="<?php echo $this->ENV['SERVER']['PHP_SELF']."?REACTIVATE"; ?>">Назад ...</a></td>
    </tr>
 </table>
 <?php
 exit();
}

function is_visited() {
 $wta = trim($this->conf['WRITE_TO_ACCESS']);
 if(isset($this->ENV[$wta]['AV_LOGIN'])) {
  $this->access_level = $this->ENV[$wta]['AV_LEVEL'];
  $this->access_paswd = $this->ENV[$wta]['AV_PASWD'];
  $this->access_login = $this->ENV[$wta]['AV_LOGIN'];
  return true;
 } else {
  return false;
 }
}

function protection($level) {
 GLOBAL $HTTP_SESSION_VARS;
 $this->__init();
 if($this->is_visited() and !ereg("REACTIVATE",$this->ENV['SERVER']['QUERY_STRING'])) {
  if($this->access_level > $level) {
   $this->_lock("LEVEL");
  }
  if(!isset($this->users[$this->access_login])) {
   $this->_lock("LOGIN");
  } else if($this->access_paswd != trim($this->users[trim($this->access_login)]['PASWD'])) {
   $this->_lock("PASWD");
  }
 } else {
  if(@ereg("^ACTIVATE", $this->ENV['SERVER']['QUERY_STRING'])) {
   $this->access_login = $this->ENV['POST']['login'];
   $this->access_paswd = $this->ENV['POST']['paswd'];
   if(!isset($this->users[$this->access_login])) {
    $this->_lock("LOGIN");
   } else if(md5($this->access_paswd) != trim($this->users[trim($this->access_login)]['PASWD'])) {
    $this->_lock("PASWD");
   } else {
    $this->access_level = trim($this->users[$this->access_login]['LEVEL']);
   }
   if($this->access_level > $level) {
    $this->_lock("LEVEL");
   }
   $AV_LEVEL = $this->access_level;
   $AV_LOGIN = $this->access_login;
   $AV_PASWD = md5($this->access_paswd);
   if($this->conf['WRITE_TO_ACCESS'] == "SESSION") {
    GLOBAL $_SESSION;
    session_register('AV_LEVEL','AV_LOGIN','AV_PASWD');
    //header("location: {$this->ENV['SERVER']['PHP_SELF']}?".session_name()."=".session_id());
   } else {
    setcookie('AV_LEVEL', $AV_LEVEL, $this->conf['COOKIE_LIFETIME']);
    setcookie('AV_LOGIN', $AV_LOGIN, $this->conf['COOKIE_LIFETIME']);
    setcookie('AV_PASWD', $AV_PASWD, $this->conf['COOKIE_LIFETIME']);
    //header("location: {$this->ENV['SERVER']['PHP_SELF']}");
   }
  } else {
   ?>
<title>
Авторизация ...
</title>

<form action="<?php echo $this->ENV['SERVER']['PHP_SELF']."?ACTIVATE&".session_name()."=".session_id(); ?>" method="post">
<table border="0" align="center" style="font-family: Tahoma; font-size: 10px">
<tr>
 <th colspan="2"><b>Авторизация</b></th>
</tr>
<tr>
 <td>Login:</td><td><input style="font-family: Tahoma; font-size: 10px; width: 250px;" type="text" name="login" maxlength="<?php echo $this->conf['MAX_LEN_LOGIN']; ?>"></td>
</tr>
<tr>
 <td>Password:</td><td><input style="font-family: Tahoma; font-size: 10px; width: 250px;" type="password" name="paswd" maxlength="<?php echo $this->conf['MAX_LEN_PASWD']; ?>"></td>
</tr>
<tr>
 <td></td><td><input style="font-family: Tahoma; font-size: 10px; width: 250px;" type="submit" value="loging"></td>
</tr>
</table>
</form>
   <?php
   exit();
  }
 }
}
}

?>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Master
Дата 10.9.2003, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



Ты это тут над нами издеваться решил? smile.gif
Зачем такой здоровый код.
Голову сломать мона... у меня он даже не работает... по началу

Попробуй старый дедовский метод echo... глядиш и найдеш ошибку...



--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
IZ@TOP
Дата 10.9.2003, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Код

  $AV_LEVEL = $this->access_level;
  $AV_LOGIN = $this->access_login;
  $AV_PASWD = md5($this->access_paswd);
  if($this->conf['WRITE_TO_ACCESS'] == "SESSION") {
   GLOBAL $_SESSION;
   session_register('AV_LEVEL','AV_LOGIN','AV_PASWD'); // Пишет в переменные 'AV_LEVEL','AV_LOGIN','AV_PASWD' пустое значение ...
  } else {
   setcookie('AV_LEVEL', $AV_LEVEL, $this->conf['COOKIE_LIFETIME']);
   setcookie('AV_LOGIN', $AV_LOGIN, $this->conf['COOKIE_LIFETIME']);
   setcookie('AV_PASWD', $AV_PASWD, $this->conf['COOKIE_LIFETIME']);
  }

Цитата
меня он даже не работает

Без инсталляции разумеется работать не будет smile.gif Вот Вам инсталяшка:
Код

<?php
include('access.php.inc');
error_reporting(7);
if(ereg("INSTALL", $HTTP_SERVER_VARS['QUERY_STRING'])) {
if(filesize(DB__ROOT."config.data") > 10) {
 exit();
}
?>
<title>
Установка Access MyPage v1.0.1.0
</title>
<table style="font-family: Tahoma; font-size: 11px" border="0" align="center">
  <tr>
   <td><b>Установка Access MyPage v1.0.1.0</b></td>
  </tr>
</table>
<?php
if(isset($HTTP_POST_VARS['ACT'])) {
 switch($HTTP_POST_VARS['ACT']) {
  case 1: {
   if(isset($HTTP_POST_VARS['OK'])) {
    if(empty($HTTP_POST_VARS['login']) or empty($HTTP_POST_VARS['paswd'])) {
     ?>
     <form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
     <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
        <tr>
         <td><b>Имя администратора и/или пароль не должны быть пустыми !</b></td>
        </tr>
        <tr>
         <td align="center"><br><br><input style="font-family: Tahoma; font-size: 10px; width: 100;" type="submit" value="<< назад">
             </td>
        </tr>
     </table>
     <input type="hidden" name="ACT" value="1">
     </form>
     <?
     exit();
    }
    $f = @fopen(DB__ROOT."users.data", "a+");
    $fs = @fputs($f, "{$HTTP_POST_VARS['login']}`+0`+".md5($HTTP_POST_VARS['paswd'])."\r\n");
    @fclose($f);
    if($fs) {
    ?>
    <form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
    <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
       <tr>
        <td>Имя и пароль администратора сохранены. <br><br> Для продолжения нажмите кнопку "далее" ...</td>
       </tr>
       <tr>
        <td align="center"><br><br><input style="font-family: Tahoma; font-size: 10px; width: 100;" type="submit" value="далее >>">
            </td>
       </tr>
    </table>
    <input type="hidden" name="ACT" value="2">
    </form>
    <?php } else { ?>
    <form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
    <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
       <tr>
        <td>Невозможно записать данные ! Обратитесь к <a  style="font-family: Tahoma; font-size: 10px; color: #006699" href="readme.txt">файлу помощи</a></td>
       </tr>
       <tr>
        <td align="center"><br><br><input style="font-family: Tahoma; font-size: 10px; width: 100;" type="submit" value="<< назад">
            </td>
       </tr>
    </table>
    <input type="hidden" name="ACT" value="1">
    </form>
    <?php  
    }
   } else {
   ?>
   <form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
   <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
      <tr>
       <td><b>Введите новые логин и пароль главного администратора.</b></td>
      </tr>
   </table><br>
   <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
    <tr>
     <td>Login:</td><td><input style="font-family: Tahoma; font-size: 10px; width: 150px;" type="text" name="login"></td>
    </tr>
    <tr>
     <td>Password:</td><td><input style="font-family: Tahoma; font-size: 10px; width: 150px;" type="password" name="paswd"></td>
    </tr>
      <tr>
       <td></td><td align="center"><br><br><input style="font-family: Tahoma; font-size: 10px; width: 100;" type="submit" name="OK" value="далее >>">
           </td>
      </tr>
   </table>
   <input type="hidden" name="ACT" value="1">
   </form>
   <?php
   }
   break;
  } case 2: {
   if(isset($HTTP_POST_VARS['OK'])) {
    if(empty($HTTP_POST_VARS['max_len_login']) or
     empty($HTTP_POST_VARS['max_len_paswd']) or
     empty($HTTP_POST_VARS['reason_lock_from_login']) or
     empty($HTTP_POST_VARS['reason_lock_from_paswd']) or
     empty($HTTP_POST_VARS['reason_lock_from_level'])) {
     ?>
     <form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
     <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
        <tr>
         <td><b>Вы заполнили не все обязательные поля !</b></td>
        </tr>
        <tr>
         <td align="center"><br><br><input style="font-family: Tahoma; font-size: 10px; width: 100;" type="submit" value="<< назад">
             </td>
        </tr>
     </table>
     <input type="hidden" name="ACT" value="2">
     </form>
     <?
     exit();
    }
    $data = "WRITE_TO_ACCESS={$HTTP_POST_VARS['write_to_access']}\r\n";
    $data .= "SESSION_LIFETIME={$HTTP_POST_VARS['session_lifetime']}\r\n";
    $data .= "COOKIE_LIFETIME={$HTTP_POST_VARS['cookie_lifetime']}\r\n";
    $data .= "MAX_LEN_LOGIN={$HTTP_POST_VARS['max_len_login']}\r\n";
    $data .= "MAX_LEN_PASWD={$HTTP_POST_VARS['max_len_paswd']}\r\n";
    $data .= "REASON_LOCK_FROM_LOGIN=".nl2br($HTTP_POST_VARS['reason_lock_from_login'])."\r\n";
    $data .= "REASON_LOCK_FROM_PASWD=".nl2br($HTTP_POST_VARS['reason_lock_from_paswd'])."\r\n";
    $data .= "REASON_LOCK_FROM_LEVEL=".nl2br($HTTP_POST_VARS['reason_lock_from_level'])."\r\n";
    $f = @fopen(DB__ROOT."config.data","a+");
    $fs = @fputs($f, $data);
    @fclose($f);
    if($fs) {
    ?>
    <form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
    <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
       <tr>
        <td>Все данные сохранены. <br><br> Для перехода на страницу администрирования нажмите кнопку "далее" ...</td>
       </tr>
       <tr>
        <td align="center"><br><br><input style="font-family: Tahoma; font-size: 10px; width: 100;" type="submit" value="далее >>">
            </td>
       </tr>
    </table>
    <input type="hidden" name="ACT" value="2">
    </form>
    <?php } else { ?>
    <form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
    <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
       <tr>
        <td>Невозможно записать данные ! Обратитесь к <a  style="font-family: Tahoma; font-size: 10px; color: #006699" href="readme.txt">файлу помощи</a></td>
       </tr>
       <tr>
        <td align="center"><br><br><input style="font-family: Tahoma; font-size: 10px; width: 100;" type="submit" value="<< назад">
            </td>
       </tr>
    </table>
    <input type="hidden" name="ACT" value="2">
    </form>
    <?php
    }
   } else {
   ?>
   <form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
   <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
      <tr>
       <td><b>Установка конфигурации.</b></td>
      </tr>
   </table><br>
   <script>
   <!--
   function hide() {
    if(document.getElementById('select').value == "SESSION") {
     document.getElementById('session').style.display = "inline";
     document.getElementById('cookie').style.display = "none";
    } else {
     document.getElementById('session').style.display = "none";
     document.getElementById('cookie').style.display = "inline";
    }
   }
   // -->
   </script>
   <table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
    <tr>
     <td width="150">Запомнить авторизацию пользователя с помощью:</td><td>
      <select id="select" onChange="hide();" style="font-family: Tahoma; font-size: 10px; width: 150;" name="write_to_access" size="1">
                   <option value="SESSION" selected> SESSION</option>
                   <option value="COOKIE"> COOKIE</option>
      </select>
     </td>
    </tr>
    <tr style="display: inline;" id="session">
     <td width="150">Время жизни SESSION (в часах): </td><td><input style="font-family: Tahoma; font-size: 10px; width: 150;" type="text" name="cookie_lifetime" value="0" maxlength="200"></td>
    </tr>
    <tr style="display: none;" id="cookie">
     <td width="150">Время жизни COOKIE (в часах): </td><td><input style="font-family: Tahoma; font-size: 10px; width: 150;" type="text" name="session_lifetime" value="0" maxlength="200"></td>
    </tr>
    <tr>
     <td width="150">Максимальная длинна логина:</td><td><input style="font-family: Tahoma; font-size: 10px; width: 150;" type="text" name="max_len_login" value="20" maxlength="200"></td>
    </tr>
    <tr>
     <td width="150">Максимальная длинна пароля:</td><td><input style="font-family: Tahoma; font-size: 10px; width: 150;" type="text" name="max_len_paswd" value="20" maxlength="200"></td>
    </tr>
    <tr>
     <td width="150">Текст сообщения при вводе неправильного логина:</td><td><textarea style="font-family: Tahoma; font-size: 10px; width: 150; height: 50;" name="reason_lock_from_login">Такого имени пользователя не существует !</textarea></td>
    </tr>
    <tr>
     <td width="150">Текст сообщения при вводе неправильного пароля:</td><td><textarea style="font-family: Tahoma; font-size: 10px; width: 150; height: 50;" name="reason_lock_from_paswd">Неверный пароль. Вернитесь и попробуйте повторить ввод пароля.</textarea></td>
    </tr>
    <tr>
     <td width="150">Текст сообщения при недостаточных правах доступа:</td><td><textarea style="font-family: Tahoma; font-size: 10px; width: 150; height: 50;" name="reason_lock_from_level">У Вас недостаточно прав для просмотра этой страницы !</textarea></td>
    </tr>
    <tr>
     <td></td><td><input style="font-family: Tahoma; font-size: 10px; width: 150;" type="submit" name="OK" value="далее >>">
                  </td>
    </tr>
   </table>
   <input type="hidden" name="ACT" value="2">
   </form>
   <?
   }
   break;
  }
 }
} else {
?>
<form action="<?php echo "{$HTTP_SERVER_VARS['PHP_SELF']}?{$HTTP_SERVER_VARS['QUERY_STRING']}"; ?>" method="post">
<table style="font-family: Tahoma; font-size: 10px;" border="0" align="center">
   <tr>
    <td>Для того что бы начать установку щелкните кнопку далее ...</td>
   </tr>
   <tr>
    <td align="center"><br><br><input style="font-family: Tahoma; font-size: 10px; width: 100;" type="submit" value="далее >>">
        </td>
   </tr>
</table>
<input type="hidden" name="ACT" value="1">
</form>
<?php
}
exit();
}
?>

А то может просто это на IIS с сессиями проблемы какие-то ...

А вот так его запускать -
Код

<?php

include('access.php.inc');

$acs = new access;
$acs->protection(0);

?>
<html>
<!-- Creation date: 08.09.2003 -->
<head>
<title></title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="generator" content="AceHTML 5 Pro">
</head>
<body>
<?php

?>
<a href="index.php">Cool !</a>
</body>
</html>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
MuToGeN
Дата 10.9.2003, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Цитата
Ты это тут над нами издеваться решил?
Зачем такой здоровый код.
Сами просили smile.gif
Iz@top, ты в своем коде сам все лучше знаешь, взял бы его в [quоte] и выделил бы жирным то, что больше интересует


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Master
Дата 10.9.2003, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



Цитата
Сами просили

Да я то думал что там стандартный скрипт авторизации 10 - 20 строк, а тут целый пакет biggrin.gif


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
IZ@TOP
Дата 12.9.2003, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Так мне помогут или всем лень ?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Master
Дата 12.9.2003, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



В выходные посмотрю... сейчас лен.. хм. Некогда!


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
IZ@TOP
Дата 8.10.2003, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Я покапался с сессиями и понял где грабли:

Как мы все знаем, переменные в классе закрытые, поэтому при копировании закрытой переменной класса в переменную определенную в методе, с данными копируется и уровень доступа к этим данным -
Код

 $AV_LEVEL = $this->access_level;
 $AV_LOGIN = $this->access_login;
 $AV_PASWD = md5($this->access_paswd);


А при регистрации в глобальный общедоступный массив $_SESSION посредством метода session_register(var), регистрируется имя переменной с пустым значением, так как не может прочитать из закрытой переменной.
Как я понимаю, данные не копируются на прямую, а создается ссылка в памяти на данные в внутриклассовых переменных, собственно с этим и вопрос новый, как распокавать, может надо сделать так -
Код

 $AV_LEVEL = $this->access_level;
 $AV_LOGIN = $this->access_login;
 $AV_PASWD = md5($this->access_paswd);
 GLOBAL $AV_LEVEL;
 GLOBAL $AV_LOGIN;
 GLOBAL $AV_PASWD;

confused.gif

Хотя при таком раскладе может возникнуть проблема с безопасностью данных ... интересно, хотя видимо проще сделать так -
Код

$obj = new Access;
$obj->protection(0);
session_register('obj');


В общем что то наверное на подобии этого и сделаю.

ЗЫ: А интересную вещь ведь откопал biggrin.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.