1. #1
    Commander
    Dabei seit
    Apr 2011
    Beiträge
    2.318

    [PHP] Session erneuert sich bei jedem Reload

    Hallo zusammen,

    wie im Titel schon angedeutet, habe ich das Problem, dass sich die Session-ID bei jedem Reload oder Navigieren auf eine andere Unterseite immer wieder erneuert.

    Lokal (XAMPP) habe ich das Problem nicht. Das "session_start()" steht in meiner index.php auch direkt am Anfang. Wenn ich nun einen Menüpunkt anklicke, dann wird, je nach übergebener Kategorie, eine Seite included und die dort hinterlegt Abfrage funktioniert nicht, weil die Variable $_SESSION['var'] nicht gesetzt ist. Auf dem Server ist "session.auto_start" auf "Off". Nun fehlen mir leider die Ideen, woran es liegen könnte bzw. was ich falsch mache.

    Daher: Was könnte es noch sein?

    Edit: Wie es der Zufall so will, hatte ich eben doch noch eine Idee. Nun funktioniert es... ich hatte eigentlich angenommen, dass der Document-Type noch davor stehen müsste. Dem ist also nicht so.
    Geändert von qhil (29.04.2013 um 20:43 Uhr)
    | CPU: Intel Core i5 2500K @ 4.3 GHz @ Mugen 2 | Board: ASUS P8P67 Rev 3.0 | GPU: MSI N670GTX Power Edition OC |
    | RAM: 8 GB Corsair Vengeance DDR3 | SSD: Samsung 830 128 GB | Display: 2x BenQ GW2760S @ 1920x1080 |
    | NT: be quiet! Straight Power 600W | OS: Windows 7 Ultimate x64 | Input: KeySonic KSK-6001 | Roccat Kone Pure |

  2. Anzeige
    Logge dich ein, um diese Anzeige nicht zu sehen.
  3. #2
    Ensign
    Dabei seit
    Feb 2006
    Beiträge
    206

    [PHP] AW: Session erneuert sich bei jedem Reload

    der documententyp ist ja für php irrelevante zeug was ausgegeben wird, im bezug auf die session!

    in die session wird als cookie rausgegeben (zumindest standardmäßig). dass heisst, das cookie wird schon im http header gesetzt!

    wenn du jetzt den documententype ausgibst, zb mit echo, dann sendest du schon http content, bedeutet, der header wurde schon gesendet. damit kannst du den nichtmehr beeinflussen, und das cookie wird nichtmehr gesetzt.

    allerdings ist php so schlau und wirft eine notice meldung raus, dass der header schon gesendet wurde. daher empfehle ich dir dringstens - grade im lernprozess - das error_reporting auf E_ALL zu setzen.

    wenn du mehr über das httpprotokoll lernen willst (und das solltest du ;D ) kannst du hier etwas drüber nachlesen.

    http://net.tutsplus.com/tutorials/to...t-know-part-1/
    » Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
    <| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>

Berechtigungen

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