Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: валидатор не пропускает PHPSESSID
 
 автор: elenaki   (24.04.2008 в 12:58)   письмо автору
 
 

ругается то на =, то на &, то на сам идентификатор...

но я же его не ставлю! PHP сам добавляет его к ссылкам на странице. как убрать? у
валидатора ведь нет кукисов... да и поменять & на & невозможно. обидно. из 29
ошибок и предупреждений 20 - из-за этого дурацкого идентификатора сессии.

   
 
 автор: sim5   (24.04.2008 в 13:24)   письмо автору
 
   для: elenaki   (24.04.2008 в 12:58)
 

session.use_trans_sid = 0

   
 
 автор: elenaki   (24.04.2008 в 13:29)   письмо автору
 
   для: sim5   (24.04.2008 в 13:24)
 

это поставить в php.ini? у меня нет доступа к нему на сервере.
написала в коде так

@ini_set ('session.use_trans_sid', '0');


результат тот же :(

   
 
 автор: sim5   (24.04.2008 в 13:38)   письмо автору
 
   для: elenaki   (24.04.2008 в 13:29)
 

Да, смена этой опции вроде доступна через ini_set, и вроде только она влияет. В Денвере у меня она отключена, и идентификатора сессии нет.

   
 
 автор: elenaki   (24.04.2008 в 13:48)   письмо автору
 
   для: sim5   (24.04.2008 в 13:38)
 

session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid On On

скриптом не поменять :( надо с хостером ругаться опять...
все ошибки и предупреждения исправила. остались только связанные с этим id

   
 
 автор: sim5   (24.04.2008 в 13:56)   письмо автору
 
   для: elenaki   (24.04.2008 в 13:48)
 

Почему не поменять? Я у себя меняю:

<?
ini_set
('session.use_trans_sid'1);
echo 
ini_get('session.use_trans_sid');

Из мануала для session.use_trans_sid: PHP_INI_ALL Вхождение может быть установлено в любом месте.

   
 
 автор: elenaki   (24.04.2008 в 14:03)   письмо автору
 
   для: sim5   (24.04.2008 в 13:56)
 

я поставила эти строки. и с нулем и с единицей, параметр не меняется.

про амперсанд в URL нашла это.

Установите в php.ini arg_separator.output в &amp;
http://php.net/manual/en/ini.core.php#ini.arg-separator.output

тоже не знаю, как поменять. написала хостеру

   
 
 автор: elenaki   (24.04.2008 в 14:14)   письмо автору
 
   для: elenaki   (24.04.2008 в 14:03)
 

ini_set('arg_separator.output', '&amp;amp;'); 


это помогло. валидатор выдал два предупреждения, но поздравил с валидностью...

   
 
 автор: elenaki   (24.04.2008 в 14:19)   письмо автору
 
   для: elenaki   (24.04.2008 в 14:14)
 

Validation Output: 2 Warnings
Below is a list of the warning message(s) produced when validating your document.

Line 192, Column 147: NET-enabling start-tag requires SHORTTAG YES.
…e="a12e1809cc5b60d5de5b6f95dff1f56c" />

Line 518, Column 225: NET-enabling start-tag requires SHORTTAG YES.
…e="a12e1809cc5b60d5de5b6f95dff1f56c" />

===================================================================

что это? в строках под такими номерами в коде ничего подобного нет. похоже на ссылки
без URL, к которым подцепился PHPSESSID, но нет там таких ссылок!

   
 
 автор: Syava   (25.04.2008 в 09:16)   письмо автору
 
   для: elenaki   (24.04.2008 в 14:19)
 

Вобще-то транс сид можно устанавливать не только в php.ini но и в .htaccess

Посмотрите директиву url_rewriter.tags Она устанавливает к относительным путям URI в каких тегах/атрибутах допустимо подставлять сид.. По умолчанию:

a=href, area=href, frame=src, input=src, form, fieldset

   
 
 автор: Syava   (25.04.2008 в 09:22)   письмо автору
 
   для: Syava   (25.04.2008 в 09:16)
 

И, если не ошибаюсь, в формах добавляется сид вида: <input type="hidden" name=".session_name()." value=".session_id()."/> т.е. если у вас html-страница, то закрывающий тэг, который подставит php, и вызовет ошибку синтаксического анализа документа, т.к. в html недопустимо закрывать тег input..

   
 
 автор: elenaki   (25.04.2008 в 18:12)   письмо автору
 
   для: Syava   (25.04.2008 в 09:22)
 

там нет скрытых полей. и даже если есть, у скрытого поля есть имя (без имени оно не имеет смысла). страница у меня РНР. тэг НЕ закрывается. во всяком случае, в коде я этого не вижу. откуда это берет валидатор, ХЗ.

   
 
 автор: Atheist   (25.04.2008 в 22:32)   письмо автору
 
   для: elenaki   (24.04.2008 в 12:58)
 

> да и поменять & на &amp; невозможно

Поискал сегодня в мануале:

<?php
ini_set
('arg_separator.output''&amp;');
?>

   
 
 автор: Gemorroj   (26.04.2008 в 10:15)   письмо автору
 
   для: Atheist   (25.04.2008 в 22:32)
 

# Автоматическое подставление идентификатора сессии к ссылкам
php_flag session.use_trans_sid On
# Разделитель переменных в URI
php_value arg_separator.output "&amp;"

Кусок из моего .htaccess. Все работает как надо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования