Paul: Session-Problem

hallo,

wenn ich auf einer (warenkorb-)seite eine session starte und ihr GET-parameter übergeben möchte, ist die session vor einem erneuten aufruf ja noch leer.
wenn ich jetzt aber genau auf dieser seite VOR dem eintragen in das session-array abfragen möchte, ob ein wert bereits im array vorhanden ist, also z.b. so:

  
!in_array($_GET['id'], $_SESSION['nummern'])  

bekomme ich natürlich eine fehlermeldung, weil dieses session-array erst nach dem nächsten aufruf zur verfügung steht.

kann man das irgendwie lösen, oder muss die seite auf jeden fall neu geladen werden?

danke!

p

  1. Hallo,

    session_start() seht doch in der regel ganz oben an.

    Wieso bekommst du einen Fehler. Ist das nicht eine Warning oder Notice?

    Du kannst ja auch erst mit isset() checken.
    if (isset($_SESSION["nummern"] && !in_array($bla, $blub)) {...

    Gruß

    jobo

    1. Hallo,

      if (isset($_SESSION["nummern"] && !in_array($bla, $blub)) {...

      aber Klammern mitzählen nicht vergessen ;)

      Gruß, Matze

  2. Hi!

    wenn ich auf einer (warenkorb-)seite eine session starte und ihr GET-parameter übergeben möchte, ist die session vor einem erneuten aufruf ja noch leer.

    Wer sagt denn sowas? Eine Session ist kein Cookie, bei dem das der Fall ist, denn da "schreibt" man mit setcookie() und liest in $_COOKIE, was der Client sendete. Bei einer Session schreibt _und_ liest man in $_SESSION. Das was man reinschreibt ist auch sofort lesbar. Wenn das bei dir nicht der Fall ist, hast du was falsch gemacht.

    wenn ich jetzt aber genau auf dieser seite VOR dem eintragen in das session-array abfragen möchte, ob ein wert bereits im array vorhanden ist,

    Das ist ein anderer Fall. Sämtliche Variablen (und Array-Elemente) sind nicht vorhanden, bevor man ihnen was zuweist. Lesezugriffe darauf werden immer mit einer Notice geahndet.

    also z.b. so: !in_array($_GET['id'], $_SESSION['nummern'])
    bekomme ich natürlich eine fehlermeldung, weil dieses session-array erst nach dem nächsten aufruf zur verfügung steht.

    Meinst du vielleicht eine Notice, dass $_SESSION['nummern'] noch nicht existiert? Dann solltest du das vorher mit isset() prüfen.

    Lo!

    1. Meinst du vielleicht eine Notice, dass $_SESSION['nummern'] noch nicht existiert? Dann solltest du das vorher mit isset() prüfen.

      genauso wars, danke!!