|
|
|
|
|
для: cheops
(18.08.2006 в 12:14)
| | Версия Base_PHP5_2005-07-19_a1.3.31_p5.0.4_m4.1.8_pma2.6.1.exe, но мне кажется, что не в версии дело..
тем более вряд ли Котеров допустил бы такой баг как глюк с сессиями!!
да и еще: при каждом переходе на новую страницу создается новый файл с переменными сессии. При последнем переходе (по ссылке) файл пуст | |
|
|
|
|
|
|
|
для: dim
(18.08.2006 в 00:46)
| | Тогда бы должно всё работать... а версия денвера какая? нет возможности попробовать другую? | |
|
|
|
|
|
|
|
для: cheops
(17.08.2006 в 22:17)
| | Cheops, все события развиваются на локальной машине. Денвер.
php.ini лежит по адресу: 'disk':\user\local\php5\php.ini (виртуальный 'disk' - настоящий путь - c:\WebServers\user\..)
Значение директивы: session.save_path = "/tmp"
p.s. .. и еще я заметил, что в папке, где находится заглушка sendmail при каждом обращении к сессиям создается файл с диковинным названием типа sess_3c03ccfcc6e6226f5d7b9df7bf338d1d, содержание которого дает понять, что именно этот файл несет информацию о переменных сессии. пример контента файла: login|s:5:"admin";passw|s:5:"passw"; (при этом в скрипте создается переменная login со значением admin и passw - со значением passw)
да, похоже, что /tmp и есть та директория, на которуюуказывает session.save_path | |
|
|
|
|
|
|
|
для: dim
(17.08.2006 в 16:38)
| | У меня скрипт работает - где дело происходит на локальной машине или на сервере хостинга? Если на локальной машине посмотрите значение директивы session.save_path в конфигурационном файле php.ini (С:/Windows/php.ini) - что в ней? Указанный путь существует? | |
|
|
|
|
|
|
|
для: cheops
(16.08.2006 в 22:44)
| | Да, выводил. На последнем этапе (о котором я говорил - переход по ссылке) дамп абсолютно пуст..
Я прикрепил эти небольшие файлы (1Кб) - посмотрите, может найдете ошибку?.. | |
|
|
|
|
|
|
|
для: dim
(16.08.2006 в 17:46)
| | Дамп массива $_SESSION выводили - в нём что-то есть или он полностью пустой?
<?php
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(16.08.2006 в 12:45)
| | Не работают сессии((, а про подавление собачкой я знаю!!)
Куки включены. И еще одно уточнение, хотя может не слишком важное: отлаживаю и проверяю все скрипты на Денвере. | |
|
|
|
|
|
|
|
для: dim
(15.08.2006 в 13:54)
| | У вас cookie включены в браузере? Вообще в чём проблема - не работают сессии или вам просто нужно подавить вывод Notice? | |
|
|
|
|
|
|
|
для: Vados
(15.08.2006 в 16:24)
| | Привет!
Вообще-то идея была защитить доступ к папке администрирования методами php, тем более не слишком оправдано использование базы данных, потому только, что администроторов может быть всего несколько человек, а ради этого создавать таблицу, потом осуществлять к ней запросы.. ПУМ!..
а обращение просходит всегда к одному и тому же файлу - index.php, где, передавая некоторый параметр мы просто выбираем действие - загружаем нужный файл, предварительно проверив админ или нет этот чел.
$var=$_GET['var'];
switch (var)
{
case 'main': include "main.php"; break;
case 'del' : include "delpost.php"; break;
...
default: include "main.php";
}
|
просто я решил, что лучше локализовать случай, легче ошибку или недочет будет найти, однако вот ответа все нет..(( | |
|
|
|
|
|
|
|
для: dim
(15.08.2006 в 14:59)
| | Привет!
Так у тебя же файл second.php используется и для ввода логина и пароля и для проверки всего остального, делай это просто один раз. То есть после введения логина и пароля на след. странице в заголовок или include (как пожелаешь) передавай эти переменные, к примеру вот так:
include 'config.php';
session_start();
$login = $_SESSION['login'];
$pass = $_SESSION['passw'];
// проверяем логин и пароль из переменных сессии на наличие в базе данных
$res = mysql_query('SELECT * FROM USERS WHERE login="'.$login.'" and pass="'.$passw.'"');
$num = mysql_num_rows($res);
if ($num == 0)
{
echo "<b class=text>";
echo 'Ошибка авторизации!';
echo "</b>";
//можно отправить на стартовую страницу используя header("");
exit;
}
|
| |
|
|
|
|