[PHP] warum neue session

Dieses Thema im Forum "Webentwicklung" wurde erstellt von onip, 6. April 2011 .

Schlagworte:
  1. 6. April 2011
    warum neue session

    hallo zusammen,

    folgender code macht mir immer wieder ne neue session.

    PHP:
    <? php

    session_save_path
    ( 'C:\xampp\htdocs\projekt\tmp' );
    session_start ();

    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    <head>
    <base href="http://localhost/projekt/" />

    <title>titel</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="de/rss.xml" />
    <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="de/atom.xml" />
    </head>
    <body>
    </body>
    </html>
    entfernt man das, läuft es wie es soll
    Code:
    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="de/rss.xml" />
    <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="de/atom.xml" />
    
    ich versteh das nicht, warum 3 session dateien in tmp/ liegen
     
  2. 6. April 2011
    AW: warum neue session

    session_id() liefert die also ständig eine neue id?

    versuch mal / statt \ im pfad.
     
  3. 6. April 2011
    AW: warum neue session

    welchen pfad?
    der zu den xml files, der session_path (ist ja schon auf \)
     
  4. 6. April 2011
    AW: warum neue session

    PHP:
    <? php

    session_save_path
    ( 'C:/xampp/htdocs/projekt/tmp' );
    session_start ();

    ?>
     
  5. 6. April 2011
    AW: warum neue session

    sorry, wer lesen kann ...

    keine änderung.
    hast du, wenn du das testest, auch das problem?

    // edit
    ist echt der wahnsinn.
    post ist 20 min. alt und schon 1. platz auf google
    suchmuster: php application/rss+xml neue session

    einfach nur top
     
  6. 6. April 2011
    AW: warum neue session

    Hi,
    wenn ich den Code 1zu1 kopiere und bei mir ausführe, funktioniert das Session-Handling einwandfrei. Ich bekomme immer die selbe ID, außer wenn ich das Cookie manuell invalidiere.
    Ich habe den Pfad für session_save_path() auf '.' geändert und die beiden Feed-Links auf bestehende Feeds geändert (allerdings auf existierende Feeds im www).
    Was passiert, wenn Du bestehende Feeds (zB von heise.de) statt Deiner eigenen einbindest?
     
  7. 7. April 2011
    AW: warum neue session

    versteh wer will.
    jetzt wo mein rechner neu gestartet ist,
    hab ich nur eine session statt drei im tmp/ ordner.
    scheint wohl an xmapp gelegen zu haben.

    naja, danke euch beiden.

    lasse den beitrag noch etwas offen, vielleicht hat jemand ne erklärung dafür
    und will dies noch kundtun.

    // edit
    hab nun das problem erkannt, da es doch wieder aufgetreten ist.
    ich steuer alles über eine php datei.
    darin ist auch das session handling.
    so wie es aussieht, wird durch rel="alternate" der inhalt schon aufgerufen, ohne die seite zu öffnen.
    dadurch wurden die sessions immer neu erstellt.
    hab es mit ner kleinen if anweisung umgangen und es läuft jetzt.

    danke nochmal bw habt ihr schon.

    ~closed~
     
  8. 7. April 2011
    AW: warum neue session

    naja, aber das erklärt nicht warum da neue sessions erstellt wurden, da der aufruf ja vom browser gestartet wird, welcher alle cookies usw. mitsendet.

    es sei denn der fehler liegt in deinem script.
     
  9. 7. April 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: warum neue session

    Code:
    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="de/rss.html" />
    <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="de/rss.html?type=atom" />
    
    anhand von de/rss.html weiß ich welche sprache, content, modul uvm. zu laden und zu verarbeiten ist.
    lade ich de/rss.html (modul rss), geb ich mir eine xml in index.php aus.
    das ist mein .htaccess
    Code:
    RewriteRule .* index.php [L,QSA]
    
    in der index.php starte ich meine session.

    ich hab das gefühl, dass in etwa das abläuft:
    1. index.php (läd z.b. home, session 1 startet)
    2. de/rss.html (alternate wird geladen (warum auch immer) also meine index.php, session 2 startet )
    3. de/rss.html?type=atom (alternate wird geladen (warum auch immer) also meine index.php, session 3 startet )

    session 1 bleibt erhalten, rss macht immer weitere sessions.
    mit if modul=='rss' dann keine session, konnte ich das umgehen.

    eine erklärung warum rss geladen wird hab ich nicht.

    // edit
    hab was herausgefunden.

    so läufts:
    http://localhost/_session/

    so nicht:
    http://_session/

    hier mal ein paket zum testen:
    No File | www.xup.in
     
  10. 7. April 2011
    AW: warum neue session

    der rss kann vorab vom browser geladen werden, das ist z.b. bei firefox der fall (der läd den feed runter um den "titel" zu ermitteln)

    im lesezeichenmenü hast du dann nen eintrag:
    Diese Seite abonnieren -> "Angegebener-Titel-im-RSS-Feed" abonnieren

    prüf doch mal ob der browser da cookies mitsendet, denn wenn nicht (was durchaus sein kann) wäre das meiner meinung nach ein bug.

    ne das macht keinen sinn, denn man weiß ja nicht welche app den feed abonniert (kann ja z.b. auch thunderbird oder irgend was anderes sein).
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.