Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Сессии


Автор: kilogram 16.7.2012, 20:58
Код

<?php ## Пример работы с сессиями, 
session_start();
// Если на сайт только-только зашли, обнуляем счетчик. 
if (!isset($_SESSION['count'])) $_SESSION['count'] = 0; 
// Увеличиваем счетчик в сессии. 
$_SESSION['count'] = $_SESSION['count'] + 1; 
?> 
<h2>Счетчик</h2> 
В текущей сессии работы с браузером Вы открыли эту страницу 
<?=$_SESSION['count']?> раз(a).<br> 
Закройте браузер, чтобы обнулить счетчик.<br> 
<a href="<?=$_SERVER['SCRIPT_NAME']?>" target='_blank' ">Oткрыть дочернее окно 
браузера </а>. 


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

Код
Forbidden

You don't have permission to access /< on this server.

Apache/2.2.19 (Win32) PHP/5.3.6 Server at test.ru Port 80

Автор: Sanchezzz 16.7.2012, 21:40
Возможно, не верно прописан индексный файл на apache, т.е. он пытается найти index.html , а надо index.php, а т.к. показывать список файлов в папке низя - выдаёт ошибку. Это раз.
Также у apache может быть не прописан путь к той папке, куда его посылают, но это может быть только если он на этом виртуальном хосте больше никуда зайти не может.

попробуйте в ручную ссылку прописать ссылку в файле за место $_SERVER['SCRIPT_NAME']

либо создать Htaccess и прописать дерективу порядок нахождения индексного файла в папке 
Код

DirectoryIndex index.php index.html index.htm

Автор: kilogram 17.7.2012, 00:44
Прописал в *.htaccess при нажатии на ссылку тот же результат.
Прописал вручную, не пашет.

Код
<?php ## Пример работы с сессиями, 
session_start();
// Если на сайт только-только зашли, обнуляем счетчик. 
if (!isset($_SESSION['count'])) $_SESSION['count'] = 0; 
// Увеличиваем счетчик в сессии. 
$_SESSION['count'] = $_SESSION['count'] + 1; 
?> 
<h2>Счетчик</h2> 
В текущей сессии работы с браузером Вы открыли эту страницу 
<?=$_SESSION['count']?> раз(a).<br> 
Закройте браузер, чтобы обнулить счетчик.<br> 
<a href="<?='http://google.ru'?>" target='_blank' ">Oткрыть дочернее окно 
браузера </а>.


Автор: kilogram 17.7.2012, 01:12
Я так понял не работает short_open_tag. В апаче такие настройки:
Код

<Directory />
    Options FollowSymLinks
    AllowOverride all
    Order deny,allow
    Deny from all
    Satisfy all
</Directory>

DirectoryIndex index.php index.html index.htm


В пхп.ини раскоментированный и все равно не пашет.
Код

 short_open_tag On


Эта конструкция не срабатывает:
Код
<?= ....?>


Автор: kilogram 19.7.2012, 19:51
Не работает. Как сделать чтобы заработало?

Автор: kilogram 19.7.2012, 22:12
user posted image

Код

var_dump($_SERVER['SCRIPT_NAME'] );


выдает такое:
string(10) "/index.php"
Код


 short_open_tag = On


в конфиге апача такие настройки
Код


<Directory />
    Options FollowSymLinks
    AllowOverride all
    Order deny,allow
    Allow from all
    Satisfy all
</Directory>


Код

Ничего не работает, выдает:
Forbidden

You don't have permission to access /< on this server.

Apache/2.2.19 (Win32) PHP/5.3.6 Server at test.ru Port 80


HELP! HELP!  ПОМОГИТЕ! НЕ ПАШЕТ НИЧЕГО!

Автор: kilogram 21.7.2012, 18:09

При использовании полных тегов, код работает, проблема что не считает ещё количество.

Код
<?php ## Пример работы с сессиями, 
session_start();
// Если на сайт только-только зашли, обнуляем счетчик. 
if (!isset($_SESSION['count'])) $_SESSION['count'] = 0; 
// Увеличиваем счетчик в сессии. 
$_SESSION['count'] = $_SESSION['count'] + 1; 
?> 
<h2>Счетчик</h2> 
В текущей сессии работы с браузером Вы открыли эту страницу 
<?=$_SESSION['count']?> раз(a).<br> 
Закройте браузер, чтобы обнулить счетчик.<br> 
<a href="<?php echo "http://google.ru" ?>" target='_blank' ">Oткрыть дочернее окно 
браузера </а>.


После установки short_open_tag = On сервер перезагружал, ничего не помогло.

phpinfo() пишет такое если его вызвать в коде, но я же его включал вроде

Код
short_open_tag    Off    Off


Написал так и перезагрузил, также ничего не помогло.

Код

<Directory />
     Options all
    AllowOverride all
    Order deny,allow
    Allow from all
    Satisfy all
</Directory>


Как включить error log, access log в пхп чтобы появлялись эти файлы если их нету и выдавали ошибку?
 

Автор: kilogram 21.7.2012, 18:24
Оказывается у меня оказалось в файле одна строка такая:
Код
 short_open_tag = On


А там ниже в файле php.ini

Код

 short_open_tag = Off


а теперь и сессия считает счетчик и такое стало работать:
<?='...'?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)