Ergebnis 1 bis 3 von 3

Thema: Sessionhandling in PHP 5

  1. #1
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Sessionhandling in PHP 5

    Hallo.

    Ich musste meinen vServer neu aufsetzen, es gab allerdings einen positiven Aspekt dabei - MySQL 5 und PHP 5 laufen endlich darauf

    Nun möchte ich mein Installscript laufen lassen, nur ist mir hierbei etwas sehr eigenartiges aufgefallen.

    [ Das Problem lag nicht an der Sessionspeicherung ]

    Ich habe herausgefunden, dass es definitiv nicht an der Speicherung lag. Jedoch kommt noch etwas eigenartigeres. Ich leite auf die nächste Seite weiter, nachdem alles gespeichert wurde. Nur, sind die Session-Daten auf der nächsten Seite nicht verfügbar.
    Es wird aber bei jedem Seiteaufruf session_start() angegeben...

    Danke, falls es Antworten gibt
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    phpfan
    Gast

    Standard

    Quellcode?

  3. #3
    Kaiserliche Hoheit
    Themenstarter
    Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Sofern es keine Theorie gibt:
    Code:
    function createStep_0(){
    		if ($this->checkUnlocked() && checkVars($_POST) && $this->checkChmod()){
    			if ($_POST['step0_password'] != $_POST['step0_passwordconfirm']){
    				assign_error('passwordsnotmatch');
    				return false;
    			}
    			$randHash = $this->fetchRandomHash();
    			$hashPass = md5(md5($randHash).md5($_POST['step0_password']));
    			$this->assignSessionVar('step0_userHash', $randHash);
    			$this->assignSessionVar('step0_userPass', $hashPass);
    			$this->assignSessions($_POST);
    			$this->assignSessionVar('step0_done', 'true');
    			redirect('index.php?step=1');
    			return true;
    		}
    	}
    Hier ist noch die Funktion, die überprüft, ob der Installstep in Ordnung war
    Code:
    function checkStepDone($step){
    		if (!$_SESSION['step'.$step.'_done'] || empty($_SESSION['step'.$step.'done'])){
    			redirect('index.php?step='.$step--);
    		}
    	}
    Hier wird das ganze dann aufgerufen (das ist der nächste Installstep, wo es dann hin directed). Wenn der vorige Step nicht korrekt war, wird man zurückgeleitet, was natürlich die gnaze Zeit der Fall ist, da es den Fortschritt in der Session nicht speichert....
    Code:
    require_once('install_loader.php');
    if (isset($step)){
    	switch ($step){
    		case 2:
    			$installer->checkStepDone(1);
    			if (isset($_POST['step2_create'])){
    				include_once('../libs/class_ftp.php');
    				$installer->createStep_2();
    			}
    			$tpl->display('step_2.tpl');
    			break;
             }
    Mit PHP4 lief das ganze reibungslos

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •