class Session
{
protected static $_instance = false;
public static function it()
{
if(self::$_instance === false)
{
self::$_instance = new session();
}
return self::$_instance;
}
public function process()
{
var_dump($_SESSION);
$hash = $_SESSION['hash'];
if(!empty($hash))
{
echo $hash;
}
else
{
mail('bla@bla.ru','','');
}
}
}
session_start();
// удаляю после первого запуска
$_SESSION['hash'] = '222222';
session::it()->process();
болк else выполняеться в любом случае, такое наблюдается при запуске скрипта в опере.
проблема в опере? Может кто сталкивался? В опере проблема?
гуг выдал где-то пост у мана такая же беда, но там безответно.
подскажите, кто что по этому считает.
Тут видео
Спустя 6 минут, 55 секунд (4.02.2012 - 23:37) SerginhoLD написал(а):
$hash = $_SESSION['hash']);
тут по-моему что-то лишнее, или чего-то не хватает.
а чисто по логике, всякую хрень из сессий нужно пихать в конструктор (даже ни разу не пробовал выложенный тут вариант), имхо
Спустя 15 секунд (4.02.2012 - 23:37) Invis1ble написал(а):
возможно в браузере куки отключены, как вариант
Спустя 4 минуты, 21 секунда (4.02.2012 - 23:42) Каретный написал(а):
да там скобка убрать ее надо, это не боевой код, для примера.
куки включены.
причем ситуация такая что если запихнуть в else
var_dump('блаблабла'); не чего не выведет, а функции или методы будут срабатывать. Странность. С пеной у рта два дня сижу.
Использую денвер, пыха 5.3.3
куки включены.
причем ситуация такая что если запихнуть в else
var_dump('блаблабла'); не чего не выведет, а функции или методы будут срабатывать. Странность. С пеной у рта два дня сижу.
Использую денвер, пыха 5.3.3
Спустя 2 часа, 24 минуты, 21 секунда (5.02.2012 - 02:06) Каретный написал(а):
вот тут можно посмотреть
http://www.yapfiles.ru/show/344980/29a7b46...9400a8.flv.html
http://www.yapfiles.ru/show/344980/29a7b46...9400a8.flv.html
Спустя 19 минут, 24 секунды (5.02.2012 - 02:25) Invis1ble написал(а):
Каретный
да, 2 раза видео посмотрел - НЁХ, или мне спать давно уже пора... Такое ощущение, что ты запускаешь код не тот, который демонстрируешь в IDE.
да, 2 раза видео посмотрел - НЁХ, или мне спать давно уже пора... Такое ощущение, что ты запускаешь код не тот, который демонстрируешь в IDE.
Спустя 8 минут, 17 секунд (5.02.2012 - 02:34) Invis1ble написал(а):
Пропиши в начале файла
попробуй так
error_reporting(E_ALL);
ini_set('display_errors', 'On');
попробуй так
public function process()
{
var_dump($_SESSION);
$hash = isset($_SESSION['hash']) ? $_SESSION['hash'] : null;
if ($hash !== null)
{
echo $hash;
}
else
{
mail('bla@bla.ru','','');
}
}
Спустя 5 минут, 41 секунда (5.02.2012 - 02:39) caballero написал(а):
$hash = isset($_SESSION['hash']) ? $_SESSION['hash'] : null;
if ($hash !== null)
можно попроще
if(isset($_SESSION['hash'])
Спустя 1 минута, 44 секунды (5.02.2012 - 02:41) Invis1ble написал(а):
caballero
Цитата |
можно попроще |
согласен, просто может у ТС в реальном коде в блоке if много кода, где используется именно $hash. Сути не меняет.
Спустя 2 минуты, 5 секунд (5.02.2012 - 02:43) caballero написал(а):
а чего бы дебагером не пройтись
как минимум можно будет убедится что код нужный выполняется
не может быть так чтобы сразу после присвоения var_dump ничего не вывел
как минимум можно будет убедится что код нужный выполняется
не может быть так чтобы сразу после присвоения var_dump ничего не вывел
Спустя 2 минуты, 35 секунд (5.02.2012 - 02:46) Invis1ble написал(а):
Цитата |
не может быть так чтобы сразу после присвоения var_dump ничего не вывел |
так судя по видео, у него при запросе через оперу и if- и else-блок выполняется
причем в else-блоке перескакивает через var_dump('ахтунг!');
Каретный
Цитата |
гуг выдал где-то пост у мана такая же беда, но там безответно. |
вот эту фразу я не совсем понял, мягко говоря
Спустя 4 минуты, 35 секунд (5.02.2012 - 02:50) caballero написал(а):
проверил сам c IE
все работает как написано
вряд ли Опера как то влмяет на серверную часть
все работает как написано
вряд ли Опера как то влмяет на серверную часть
Спустя 2 минуты, 26 секунд (5.02.2012 - 02:53) Invis1ble написал(а):
Цитата |
вряд ли Опера как то влмяет на серверную часть |
разве что Опера скрещена с денвером и пыхом неизвестным науке макаром
Спустя 2 минуты, 8 секунд Invis1ble написал(а):
Еще как вариант - Опера показывает закэшированный ранее контент.
Обновлять нужно через Ctrl+r
а еще лучше - почистить кэш и отключить его
Спустя 5 минут, 17 секунд (5.02.2012 - 02:58) Каретный написал(а):
Это здец, проверял на разных компах, с разными версиями оперы. одна и та же мистика.
Попробуйте у себя запустить пожалуйста.
Стоит все как надо, нечего не затачивал в денвере.
При просмотре в других браузерах код как надо пашет. Это с оперой жопа такая.
Попробуйте у себя запустить пожалуйста.
Стоит все как надо, нечего не затачивал в денвере.
При просмотре в других браузерах код как надо пашет. Это с оперой жопа такая.
Цитата |
так судя по видео, у него при запросе через оперу и if- и else-блок выполняется причем в else-блоке перескакивает через var_dump('ахтунг!'); |
Все так и есть. Это не кеш, тут на него не стоит грешить.
Спустя 7 минут, 17 секунд (5.02.2012 - 03:05) Invis1ble написал(а):
Цитата |
Попробуйте у себя запустить пожалуйста. |
попробовал такой код:
class Session
{
protected static $_instance = false;
public static function it()
{
if(self::$_instance === false)
{
self::$_instance = new session();
}
return self::$_instance;
}
public function process()
{
$hash = $_SESSION['hash'];
if (!empty($hash))
{
echo 'Step 1a';
var_dump($hash);
}
else
{
echo 'Step 1b';
mail('username@domain.com', 'subject', 'message');
}
}
}
session_start();
// удаляю после первого запуска
$_SESSION['hash'] = '222222';
session::it()->process();
Если не обращать внимание на notice при пустой сессии - то у меня все работает корректно и в опере и в хроме :rolleyes:
Спустя 5 минут, 15 секунд (5.02.2012 - 03:10) Каретный написал(а):
Цитата (Invis1ble @ 5.02.2012 - 00:05) | ||
попробовал такой код: class Session Если не обращать внимание на notice при пустой сессии - то у меня все работает корректно и в опере и в хроме :rolleyes: |
Ага, так и у меня робит, ты после первого запуска закомменти $_SESSION['hash'] = '222222';
И вот тут начнуться чудеса.
Спустя 2 минуты, 25 секунд (5.02.2012 - 03:13) Invis1ble написал(а):
Каретный
Цитата |
И вот тут начнуться чудеса. |
у меня не начались, конечно я закомментил после первого запуска и запустил еще по пару раз. Потом перезапустил браузер и еще раз проделал тоже самое. Говорю тебе - у меня все норм работает.
У тебя оперу кто-то сглазил, а денвер - это вообще глючная хрень.
Спустя 3 минуты, 21 секунда (5.02.2012 - 03:16) Каретный написал(а):
session_start();
$hash = $_SESSION['hash'];
if (!empty($hash))
{
echo 'Step 1a';
var_dump($hash);
}
else
{
echo 'Step 1b';
$_SESSION['hash'] = '222222';
mail('username@domain.com', 'subject', 'message');
}
Мда, поподалово. Никогда с денвером проблем небыло. Сейчас пых другой на него подцеплю, проверю.
Спустя 1 минута, 59 секунд (5.02.2012 - 03:18) Invis1ble написал(а):
В NetBeans есть встроенный дебаггер, если что.
Тебе об этом уже caballero выше писал.
Тебе об этом уже caballero выше писал.
Спустя 22 секунды (5.02.2012 - 03:19) caballero написал(а):
как раз на денвере я и проверял
апач и php деневра ничем не отличается от обычных
апач и php деневра ничем не отличается от обычных
Спустя 1 минута, 38 секунд (5.02.2012 - 03:20) caballero написал(а):
Цитата |
В NetBeans есть встроенный дебаггер, если что |
встроенного нет - надо цеплять xdebag
в Nusphere phpeditor есть
Спустя 24 секунды (5.02.2012 - 03:21) Каретный написал(а):
Дебажил нетбинсом и xdebug, все норм.
Спустя 6 минут, 33 секунды (5.02.2012 - 03:27) Invis1ble написал(а):
caballero
Цитата |
встроенного нет - надо цеплять xdebag |
ну это да, я имел ввиду интерфейс для дебага
Спустя 4 минуты, 17 секунд (5.02.2012 - 03:31) caballero написал(а):
Цитата (Каретный @ 5.02.2012 - 00:21) |
Дебажил нетбинсом и xdebug, все норм. |
значит что то с сессиями (точнее с куками) на опере
убери класс и просто проверь как сессия работает
Спустя 17 минут, 24 секунды (5.02.2012 - 03:49) Каретный написал(а):
Всем спасибо, проблема решилась, только так и не известно что такое было.
Чудеса чудесные.
Чудеса чудесные.