Skriptsprachen (PHP, Javascript, etc.) - Forum

Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.

Diskutieren Sie hier über die serverseitige Skriptsprachen PHP und Python und über dynamische Webseitenerstellung mit Javascript und Ajax.


Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline

Validator meckert an PHPSESSID

Link zur Antwort auf "Validator meckert an PHPSESSID" von Frances ! Frances !, am Wednesday den 16.04.2008 um 02:05:56

Hallo,

ich habe heute für ein Projekt mit Gästebuch ein Captcha eingepflanzt. Dazu muss ich eine Session starten, die ich in den Header gesetzt habe (andere Möglichkeit kenne ich nicht, da sowas ja vor irgend einer Ausgabe geschehen muss). Die einzelnen Seiten werden inkludiert, d.h. die Session wird bei jedem Seitenaufruf gestartet (ist doch so, oder? :D)

Jetzt schicke ich die Seite durch den Validator und bekomme massig Fehler, weil an sämtlichen Links ein "&PHPSESSID=e7e9c6e1da3081186269df3d334a9c22" gehängt wird. Die Seite an sich habe ich in XHTM Strict umgesetzt.

Wenn ich session_start(); aus dem Header nehme, dann ist alles ok.

Weiß vielleicht jemand warum das so ist wie es ist und kennt vielleicht noch eine Lösung?

Danke :)

Insgesamt 1 mal bearbeitet, zuletzt am 16.04.2008 um 02:07:11

podthepunk
Beiträge: 76

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Validator meckert an PHPSESSID" von podthepunk podthepunk, am Wednesday den 16.04.2008 um 02:21:19

Hi,

wenn du zugriff auf die php.ini des Servers hast, kannst du dort einstellen, dass die Session-ID nicht mehr an jeden Link angehängt, sondern via Cookie übergeben wird.

 
Text
1
2
session.use_cookies = 1
session.use_trans_sid = 0

ohne Zugriff auf die php.ini hilft auch folgendes in einer .htaccess:

 
HTML
1
php_flag session.use_trans_sid 0

oder folgendes im PHP-Code:

 
PHP
1
ini_set("arg_separator.output","&");

oder:

 
PHP
1
2
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);

mfg
pod

Insgesamt 5 mal bearbeitet, zuletzt am 16.04.2008 um 02:32:12

David Danier
Beiträge: 1710

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Validator meckert an PHPSESSID" von David Danier David Danier, am Wednesday den 16.04.2008 um 07:49:13
Zitat von: Sven Podivinsky
 
PHP
1
ini_set("arg_separator.output","&");

Das ist die richtige Methode das Problem zu lösen. Die Anweisung kann auch direkt in die php.ini.

Hintergrund: Das kaufmännische Und muss in HTML maskiert werden durch &, auch bei jedem Query-String. PHP macht das leider normalerweise nicht und erzeugt somit invaliden Code....zum Glück kann man es verstellen.


Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Validator meckert an PHPSESSID" von Frances ! Frances !, am Wednesday den 16.04.2008 um 08:35:54

Und wie ändere ich das? Einfach ini_set("arg_separator.output","&"); in eine PHP-Datei und dann aufrufen funktioniert nicht. Hab ich grad versucht.

Muss ich wohl mal meinen Provider anhauen.

Vielen Dank für eure Antworten :)


Jan Pieper
Beiträge: 249

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Validator meckert an PHPSESSID" von Jan Pieper Jan Pieper, am Wednesday den 16.04.2008 um 09:03:37

Laut PHP Manual kann diese Direktive auch per ini_set() gesetzt werden:

Name
Default
Changeable
Changelog
arg_separator "&" PHP_INI_ALL Removed in PHP 4.0.6.
arg_separator.input "&" PHP_INI_PERDIR Available since PHP 4.0.5.
arg_separator.output "&" PHP_INI_ALL Available since PHP 4.0.5.

(Quelle: http://de2.php.net/manual/en/ini.php#ini.list)

Insgesamt 1 mal bearbeitet, zuletzt am 16.04.2008 um 09:04:29

Frances !
Beiträge: 299

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Validator meckert an PHPSESSID" von Frances ! Frances !, am Wednesday den 16.04.2008 um 12:05:18

Vielen Dank. Ist umgestellt und funktioniert prächtig :)