php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.04.2005, 09:13  
18inch
Gast
 
Beiträge: n/a
Standard session id manuell ändern!

Hallo,
ich habe früher meine Session id per session_regenerate_id() geändert! Das hat wunderbar funktioniert. Mein neuer Provider unterstützt diese Funktion leider nicht. (anscheinend ist php zu alt)

Wie kann ich nun die session id manuell ändern?? Es ist wichtig, dass nur die id geändert wird und nicht die ganze Session gelöscht wird!

Danke!
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.04.2005, 09:19  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Hmm mal mim provider reden? ein aktuelles php sollte eignetlich immer installiert sein. Was für ne version ist denn installiert?
vieleicht könntest du auch mal genauer beschreiben was Sinn und Zweck des ganzen sein soll.

mfg
robo47
robo47 ist offline  
Alt 22.04.2005, 09:32  
18inch
Gast
 
Beiträge: n/a
Standard

Also es handelt sich hier um einen shop!

Der User ist eingeloggt und legt viele Waren in den Warenkorb! Seine Waren sind eindeutig durch sein sessionID erkennbar in der DB hinterlegt. Wenn der User irgendwann den Kauf bestätigt, dann werden alle Waren aus dem Warenkorb in eine "Rechnungs_tabelle" überschrieben.

Hier kommt jetzt der Knackpunkt!!!
Der User muss jetzt (nach dem erfolgreichem Kauf) einen neue SessionID bekommen, da es sonst zu überschneidungen im System kommt. Es kann ja sein, dass der User direkt noch was kaufen will. Dann gäbe es aber eine überschneidung mit der alten SessionID. Deswegen muss unbedingt eine neue generiert werden.

Hat bisher einwandfrei funktioniert. Nur jetzt nicht mehr.

Kann mir einer weiterhelfen??
 
Alt 22.04.2005, 09:38  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

warum bruacht der user ne neue sessionid? was überschneidet sich da? die sachen stehen in der db und werden aus der session gelöscht? fertig :P

btw
aus dem manual:
Zitat:
Anmerkung: Falls Session-Cookies aktiviert sind, wird seit PHP 4.3.3 durch die Verwendung von session_regenerate_id() auch ein neues Session-Cookie mit der neuen Session-ID abgegeben.
also da solltest du definitv mal mit deinem hoster reden, wenn der noch ne version < 4.3.3 hat :P
robo47 ist offline  
Alt 22.04.2005, 09:49  
18inch
Gast
 
Beiträge: n/a
Standard

Nein!

Der Waren korb ist nicht in der Session gespeichert. Der steht in der DB. Da gibt es hinterher überschneidungen wenn er der Session ID beibehält.
Glaub es mir.

Also, kann ich die ID irgendwie ändern??
 
Alt 22.04.2005, 09:52  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

vieleicht manuell mit setcookie den sessioncookie überschrieben, das was php in deiner version ja wie oben beschrieben nicht zu tun scheint.

mfg
robo47
robo47 ist offline  
Alt 22.04.2005, 09:53  
18inch
Gast
 
Beiträge: n/a
Standard

Ich werde es einfach nochmal mit regenerate probieren!

Ich poste heute mittag mal die Fehlermeldung!


Danke! Soweit.
 
Alt 22.04.2005, 13:21  
18inch
Gast
 
Beiträge: n/a
Standard

regenerate ist ausgestellt!

Das sit nicht weiter schlimm ich versuche nun eine neue SessionID ´zu erzwingen:
PHP-Code:
<?php
if(bedingung erfüllt)
    {
        
/* wenn der User eingekauft hat, dann wird ihm direkt eine neue ID zugewiesen. Somit entstehen keine Überschneidungen. */
        
$_SESSION['id_old'] = session_id();
        
$neueid $_SESSION['nr'] + time();
        
session_id(md5($neueid));
        
/*
        session_regenerate_id();
        */
    
}
    echo(
session_id());
?>
In $_SESSION['nr'] ist die Kundennummer gespeichert! Addiert mit time() und mit md5 verschlüsselt generiere ich meine neue individuelle SessionID. Diese wird mir nach dem Kauf auch richtig und veränder angezeigt.
Aber sobald ich auf einen Link klicke gibt er mir wieder die alte SessionID aus!

Kann mir einer sagen wieso??
 
Alt 22.04.2005, 13:53  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

mach das ganze vieleicht vor dem sessionstart mal? nur ne idee
ansonsten halt wie gesagt -> cookie selber setzen
robo47 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
session array Timo Trallala PHP Tipps 2006 18 22.04.2006 13:45
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Bei Session - verfall socke PHP Tipps 2005-2 12 01.09.2005 02:30
Klassenobjekt in ner Session speichern?! Finkman PHP Tipps 2005-2 5 09.08.2005 00:38
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
Session error nach Umstellung auf PHP 5 PHP Tipps 2005 15 13.05.2005 14:35
Session Problem PHP-Fortgeschrittene 3 18.02.2005 14:37
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session_id setzen, session id ändern, session id setzen, php session id ändern, php sessionid ändern, session id verändern, php session id manuell setzen, sessionid setzen, session id manuell setzen, session id ändern php, php session id setzen, eigene session id ändern, php session_id setzen, php sessionid setzen, http://www.php.de/php-tipps-2005/21721-session-id-manuell-aendern.html, sessionid ändern, session id wechseln, session_id() setzen, session-id ändern, php session id überschreiben

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.