php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2004, 09:58  
Gast
 
Beiträge: n/a
Standard [Erledigt] Object in Session speichern

Hallo!
Kann mir Jemand bei dieser Aufgabe behilflich sein?

Zur Verwaltung eines Warenkorbs möchte ich die darin befindlichen Artikel in $_SESSION zwischenspeichern.

Die Zuweisung an $_SESSION funktioniert einwandrei,
jedoch das Wiederherstellen desObjectes aus der Session gelingt mir nicht.
Zur verdeutlichung:
Hier die Klasse:
Code:
 class korb
       {
         var $artikel=array();
       }
(wird noch erweitert )
und nun mein Testscript:

Code:
 require_once($PATH_TO_CLASS."/basket.php");
 @session_start();

     $korb = new korb;

    if(!isset($_SESSION['korb']))
    {
     $k = $korb->artikel;
     $k[0]['ID']= 7000;
     $k[0]['Anzahl']=12;
     $k[0]['Preis']=10.50;
     $k[1]['ID']= 7001;
     $k[1]['Anzahl']=13;
     $k[1]['Preis']=11.50;
    }
     else
     {
       $korb->artikel= $_SESSION['korb'];
       $k=$korb->artikel;
     } 


     $i=0;
     foreach($k as $v)
     {
         foreach($v as $key => $value)
         {

           echo" $i  $k[$i] $key  => $value | ";
         }
           echo "
";
       $i++;
     }
Ausgabe erscheint :
alles Prima!

0 Array ID => 7000 | 0 Array Anzahl => 12 | 0 Array Preis => 10.5 |
1 Array ID => 7001 | 1 Array Anzahl => 13 | 1 Array Preis => 11.5 |

Nun die Zuweisung an SESSION
Code:
 $_SESSION['korb']= $k;
wenn $_SESSION['korb'] noch nicht existiert, ist die Klasse
mit allen Werten gefüllt. Die Session wurde auch übertragen :
hier der Inhalt:

korb|a:2:{i:0;a:3:{s:2:"ID";i:7000;s:6:"Anzahl";i: 12;s:5:"Preis";d:10.5;}i:1;a:3:{s:2:"ID";i:7001;s: 6:"Anzahl";i:13;s:5:"Preis";d:11.5;}}

Jedoch die Zuweisung zurück in eine Objektvariable scheitert.

Ausgabe:
0 artikel => Object |

SESSION ist leer!

Weis Jemand warum, und was ich falsch mache?

Vielen Dank !

Viterbese
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.08.2004, 11:50  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Einen Fehler kann ich zwar nicht nachvollziehen ... aber ziemlicher Müll, den du da machst (sorry ^^)


> Hier habe ich mal $korb weggelassen.
> $_SESSION['korb'] statt dessen zum Objekt gemacht (möglich, da die Klasse ja schon vor session_start() geladen wird)
> $k referenziert direkt auf ->artikel, dadurch ist ein späteres Zuweisen überflüssig.

habe mich mit Änderungen noch zurückgehalten ;P

Teste erstmal, ob das was bringt. Dein vorheriger Code war nicht unbedingt falsch, zumindest nicht offensichtlich, soweit es zu sehen war.

PHP-Code:
<?php

require_once($PATH_TO_CLASS."/basket.php");
session_start();

if (!isset(
$_SESSION['korb']))
{
    
$_SESSION['korb'] = new korb;
    
$k =& $_SESSION['korb']->artikel;
    
$k[0]['ID']= 7000;
    
$k[0]['Anzahl']=12;
    
$k[0]['Preis']=10.50;
    
$k[1]['ID']= 7001;
    
$k[1]['Anzahl']=13;
    
$k[1]['Preis']=11.50;
}

$i 0;
foreach(
$k as $v)
{
    foreach(
$v as $key => $value)
    {
        echo
" $i  $k[$i] $key  => $value | ";
    }
    echo 
"
"
;
    
$i++;
}

?>
Guradia ist offline   Mit Zitat antworten
Alt 31.08.2004, 14:15  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Guradia
Einen Fehler kann ich zwar nicht nachvollziehen ... aber ziemlicher Müll, den du da machst (sorry ^^)


> Hier habe ich mal $korb weggelassen.
> $_SESSION['korb'] statt dessen zum Objekt gemacht (möglich, da die Klasse ja schon vor session_start() geladen wird)
> $k referenziert direkt auf ->artikel, dadurch ist ein späteres Zuweisen überflüssig.

habe mich mit Änderungen noch zurückgehalten ;P

Teste erstmal, ob das was bringt. Dein vorheriger Code war nicht unbedingt falsch, zumindest nicht offensichtlich, soweit es zu sehen war.

PHP-Code:
<?php

require_once($PATH_TO_CLASS."/basket.php");
session_start();

if (!isset(
$_SESSION['korb']))
{
    
$_SESSION['korb'] = new korb;
    
$k =& $_SESSION['korb']->artikel;
    
$k[0]['ID']= 7000;
    
$k[0]['Anzahl']=12;
    
$k[0]['Preis']=10.50;
    
$k[1]['ID']= 7001;
    
$k[1]['Anzahl']=13;
    
$k[1]['Preis']=11.50;
}

else{ 
$k =& $_SESSION['korb']->artikel;}  //hinzugefügt von viterbese

$i 0;
foreach(
$k as $v)
{
    foreach(
$v as $key => $value)
    {
        echo
" $i  $k[$i] $key  => $value | ";
    }
    echo 
"
"
;
    
$i++;
}

?>

Hallo Guradia, danke für deine Hilfe,
nun funkioniert es, musste nur noch den else Zweig einbauen,
damit $k zugewiesen wird.

Klappt alles Prima!

Ciao!
viterbese
  Mit Zitat antworten
Antwort


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
Rubrik aus DB lesen oder als Var. bzw. in Session speichern Diet PHP Tipps 2006 4 21.09.2006 15:53
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
session array Timo Trallala PHP Tipps 2006 18 22.04.2006 13:45
texte in einer session speichern PHP Tipps 2007 8 15.11.2005 22:32
[Erledigt] Mehrdimensionales Array in Session speichern PHP-Fortgeschrittene 6 11.10.2005 17:32
Session - Werte zwischen speichern! PHP Tipps 2005-2 9 05.10.2005 18:05
Gibt keine Ausgabe aus socke PHP Tipps 2005-2 9 31.08.2005 15:39
Object in einer Session Variablen d-jango PHP Tipps 2005-2 1 21.08.2005 17:50
Klassenobjekt in ner Session speichern?! Finkman PHP Tipps 2005-2 5 09.08.2005 00:38
problem mit session / object PHP-Fortgeschrittene 7 04.08.2005 02:33
Array in Session speichern und wieder auslesen Riot PHP Tipps 2005-2 3 08.07.2005 11:43
[Erledigt] Arrays in Session speichern PHP-Fortgeschrittene 3 07.07.2005 10:19
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php session object, php object in session, php object session, php objekt in session speichern, php objekt in session, php session objects, php objekt session, object in session php, php object in session speichern, php objects in session, php session objekt, php objekt speichern, php objects session, php session objekte speichern, php objekte speichern, session object php, object in session speichern, php objekte in array speichern, php session speichern, objekt in session php

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:52 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.