Portal > Foren > PHP > PHP-Programmierung > Schönere Programmieralternative zum doppelten exploode
Antwort
 
Themen-Optionen
Alt 01.12.2006, 14:14 Nach oben    #1
nox
Benutzer
 
Registriert seit: 22.11.2006
Ort: Haan
Beiträge: 40
Standard Schönere Programmieralternative zum doppelten exploode

Hallo developers-guide User,

ich komm direkt mal neu ins Forum und stelle sofort eine Frage!

PHP-Code:
$content ';userid=0;lastvisit=1164977493';

$cookiecontent explode(";"$content);

foreach(
$cookiecontent AS $a){ 

    
$b explode("="$a);
    
$c .= $b[0] . " --> " $b[1] . "<br />";

}

echo 
$c
Ich weiss das man es sauberer schreiben könnte, daher frage ich mich wie ich es besser machen könnte. Ich möchte mein Login nicht mit mehreren Cookies, sondern nur noch mit einem lösen. Mich stört einach das doppelte explode.

Für Hinweise, Tipps, Bemerkungen bin ich gerne offen.

Lordnox

//edit:

leider sehe ich gerade, das das Forum Probleme hat das Wort S*essionhash und einen md5 hash dazustellen, vor das erste ";" kommt eigendlich noch dieser Hash

Geändert von nox (01.12.2006 um 14:16 Uhr). Grund: darstellungsfehler
nox ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.12.2006, 15:15 Nach oben    #2
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

Warum nicht $__COOKIE('userid') etc.?

Und, wo initialisierst du $c? Kann es sein, dass dein error_reporting noch auf E_ALL ^ E_NOTICE steht? Wenn ja: Besser hochsetzen.

Ansonsten:
Mir fällt die Funktion ein, mit der man Query-Strings parsed. Müsste parse_query_string() oder so heißen. Davor die Semikola durch Kaufmanns-Unds ersetzen (str_replace()).

Basti

Edit:
Das mit dem sessionhash ist ja echt krass.

sessionhash=1234567890123456789012345678901 <- noch ein [0-9a-z] dran und der String ist weg...
sessionhash=1234567890123456789012345678901_
sessionhash=1234567890123456789012345678901ä
sessionhash=1234567890123456789012345678901A

Sessionhash=12345678901234567890123456789012

Geändert von Basti (01.12.2006 um 15:22 Uhr).
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.12.2006, 15:22 Nach oben    #3
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Nettes Sicherheitsfeature sag ich da mal.
Ich kenn mich wenig mit Serialisieren aus, aber warum nicht ein array serialisieren und in den cookie schreiben? Dann hab man ja auch nur einen wert drin oder?
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.12.2006, 15:25 Nach oben    #4
nox
Benutzer
 
Registriert seit: 22.11.2006
Ort: Haan
Beiträge: 40
Standard

Zitat:
Zitat von Basti Beitrag anzeigen
Warum nicht $__COOKIE('userid') etc.?
laut einer meiner PHP bücher soll man die cookies mehr ausnutzen und nicht meherer benutzen, mehr ist da allerdings auch nicht drauf eingangen, dürfte aber was dran sein, denn joomla (bin mir nicht mehr sicher ob es das war!) macht es auch.


Zitat:
Zitat von Basti Beitrag anzeigen
Und, wo initialisierst du $c? Kann es sein, dass dein error_reporting noch auf E_ALL ^ E_NOTICE steht? Wenn ja: Besser hochsetzen.
jup, error_reporting war auskommentiert! aber $c initialisiere ich vorher, nciht mehr auf dem codeausschnitt zu sehen

Zitat:
Zitat von Basti Beitrag anzeigen
Das mit dem sessionhash ist ja echt krass.

sessionhash=1234567890123456789012345678901 <- noch ein 0-f dran und der String ist weg...
sessionhash=1234567890123456789012345678901_
Ja war mir bis eben auch neu, habe selber vbulletin.

ansonsten vielen vielen dank für deine Antwort werde ich mal testen!
nox ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.12.2006, 15:28 Nach oben    #5
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

Achso ... jetzt schnall ich erst, was du willst.

Klar:
PHP-Code:
$sData serialize($aData);
setcookie('mycookie'$sData, ...);

---

$aData = array();
if (isset(
$_COOKIE['mycookie']))
    
$aData unserialize($_COOKIE['mycookie']); 
Basti

PS:
magic_quotes.qpc nicht vergessen!

Edit:
Da war ein falscher Buchstabe im Code. Natürlich muss der String in den Keks ($sData anstatt $aData).

Geändert von Basti (01.12.2006 um 16:14 Uhr).
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.12.2006, 15:31 Nach oben    #6
nox
Benutzer
 
Registriert seit: 22.11.2006
Ort: Haan
Beiträge: 40
Standard

top danke, das sieht gut aus

nox

Geändert von nox (01.12.2006 um 15:37 Uhr). Grund: erledigt
nox ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Tomcat 5.5] Eigener Filter schuld am doppelten Laden der Seite? WarrenFaith Tools, Server, Betriebssysteme 2 18.04.2007 21:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:10 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44