haka
Mitglied
Ort: Emden
Registriert: 01.08.2006
Beiträge: 22
|
|
Folgender Code wird im FAQ vorgeschlagen:
Code:
<?php
ini_set( 'arg_separator.output' , '&' );
ini_set( 'url_rewriter.tags' , 'a=href,area=href,frame=src,input=src,fieldset=' );
?> |
Ein Problem kann fieldset= darstellen. Nicht jedes Formular enthält ein FIELDSET-Element. In HTML- / XHTML-Strict ist es aber nicht möglich, ein INPUT-Feld direkt innerhalb von FORM zu setzen, es muss zusätzlich ein Blockelement (P; DIV, FIELDSET ...) vorhanden sein.
Um das Problem zu umgehen, kann form=action ergänzt werden. Moderne Browser übertragen GET-Parameter aus dem ACTION-Attribut korrekt.
Der geänderte Code für url_rewriter.tags lautet dann also:
Code:
<?php
ini_set( 'arg_separator.output' , '&' );
ini_set( 'url_rewriter.tags' , 'a=href,area=href,frame=src,input=src,fieldset=,form=action' );
?> |
Falls die Session auch für CSS oder Scripts benötigt wird, können auch LINK und SCRIPT umgeschrieben werden. Die Ergänzung lautet dann: ,link=href,script=src.
Mit SCRIPT und LINK:
Code:
<?php
ini_set( 'arg_separator.output' , '&' );
ini_set( 'url_rewriter.tags' , 'a=href,area=href,frame=src,input=src,fieldset=,form=action,link=href,script=src' );
?> |
Adressen innerhalb von Javascripts oder andere Adressen, die mit der gleichen Session arbeiten sollen, müssen im PHP-Code ergänzt werden. Zur Ausgabe der Session-ID wird die Funktion session_id() abgefragt. Das ist z.B. bei Weiterleitungen mit META-Refresh (HTML) oder header() (PHP) der Fall.
Code:
<?php
$add_session_id = false;
if(!$_COOKIE['PHPSESSID'])
$add_session_id = '?PHPSESSID='.session_id();
?> |
_______________________________________ PHP Trawler Web CMS - http://trawler.msdazu.de CMSBlog - http://cmsblog.msdazu.de
|
|
| 17.09.2006 18:53:25 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Hallo, vielen Dank für die Hinweise, ich werde sie in die FAQ nachtragen. Etwas würde ich aber anders machen. Für:
Code:
<?php
$add_session_id = false;
if(!$_COOKIE['PHPSESSID'])
$add_session_id = '?PHPSESSID='.session_id();
?> |
würde ich
Code:
<?php
$add_session_id = false;
if(!$_COOKIE['PHPSESSID'])
$add_session_id = '?' . session_name() . '=' . session_id();
?> |
schreiben. Der Name des Sessionfeldes muß nicht unbedingt "PHPSESSID" lauten.
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 17.09.2006 23:05:52 |
|
haka
Mitglied
Ort: Emden
Registriert: 01.08.2006
Beiträge: 22
|
|
Stimmt. Allerdings muss der Code dann auch nach den jeweiligen Bedürfnissen angepasst werden.
Bei if(!$_COOKIE['PHPSESSID'] fehlt eine schließende Klammer ;-)
_______________________________________ PHP Trawler Web CMS - http://trawler.msdazu.de CMSBlog - http://cmsblog.msdazu.de
|
|
| 17.09.2006 23:41:14 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Ich habe die FAQ überarbeitet, kannst ja mal reinschauen ob es so i.o. ist ;-)
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 18.09.2006 00:32:15 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|