Ankündigung

Einklappen
Keine Ankündigung bisher.

Sessions mit und ohne Cookies (die 100.?)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sessions mit und ohne Cookies (die 100.?)

    Hallo Gemeinde!

    ich habe für meinen Abijahrgang (88 rules!) eine kleine Community gebaut. Die Leute können sich einloggen und einen persönlichen Fragebogen beantworten. Die Antworten können dann alle anderen lesen, sofern sie selbst etwas von sich erzählt haben usw. usw.

    Die verschiedenen php-Seiten binde ich mit session_start() aneinander. Mit session_register speichere ich diverse Infos über den aktiven User um sie auf allen Seiten verwenden zu können (Vorname, E-Mail, Anzahl gegebener Antworten im Fragebogen etc.). Die Seiten sind untereinander verlinkt mit
    Code:
    <a href=andereSeite.php?SID>link</a>
    oder
    Code:
    <form action="wiederandereSeite.php?SID">
    Mein Provider ist 1&1.

    Nun das Problem:
    Bei einigen Usern funktiert alles prima, bei anderen wiederum klappt die Session nicht. Nach dem Login "vergisst" der Browser oder der Server die Identität des Users und er darf z.B. seinen persönlichen Fragebogen nicht aufrufen. Es entstehen imfolgenden Fehelrmeldungen aufgrund der unbefüllten Session-Variablen. Die betroffenen USer behaupten z.T., sie hätten Cookies aktiviert, manche kennen sich gar nicht aus.

    Alle offiziell verfügbaren Dokumentationen sind furchtbar. Ständig gibt es irgenwelche Ausnahmen, die mal erwähnt werden, mal als nicht relevant bezeichnet werden etc.

    Frage nun: Mit welchen Kniffen kann man für beide Fälle (Cookies an/aus) nun definitiv die Session aufrecht erhalten und Session-Variablen übertragen ?
    Mir wäre auch mit einem Link auf ein pädagogisch wertvoll aufbereitetes Tut geholfen.

    Liebe Forums-Engel, erbarmet Euch.

    Gruß
    Frankl


  • #2
    mal lesen ..
    http://www.dclp-faq.de/q/q-sessions-fallback.html

    :wink:
    privater Blog

    Kommentar


    • #3
      Hallo Ben und alle anderen,

      danke aber das hatte ich schon mehrmals gelesen. Es wird auf irgendeine alte Fallback-Klasse verwiesen und das ganze Thema ergiesst sich in zig Sonderfälle.

      Deswegen noch mal anders und konkreter für meinen Fall:

      Erst mal ein Auszug aus der php_info() meines Providers 1&1 Puretec (bitte beachten: der Server steht nicht bei mir im Wohnzimmer, ich kann vermutlich nichts an der PHP.INI verändern):

      ...
      session.name: PHPSESSID
      session.referer_check: no value
      session.save_handler: files
      session.save_path: /tmp
      session.serialize_handler: php
      session.use_cookies: On
      session.use_only_cookies: Off
      session.use_trans_sid: Off

      ...

      Frage:

      Wie kann ich es erreichen (z.B. mit ini_set), dass meine User keine Cookies kriegen, obwohl sie z.T. welche akzeptieren?
      Es muss doch möglich sein für beide Sorten von Usern etwas anzubieten, ohne dass sie etwas merken. Mir es recht, wenn die Session id automatisch oder durchmich per Code an sämtliche Links und URLs gehängt werden. (Und es mag auch sein, dass User, die keine Cookies akzeptieren doof sein mögen oder sonstwas. Ich will trotzdem, dass sie die Seiten aufrufen können.)

      Diese ganzen Tutorials vergessen jeweils immer irgendwelche Randbedingungen, die beim Einzelnen nicht immer gelten. In einige Foren haben USer auch schon diverse Fehelr in Dokumentationen nachgewiesen.

      Ich kann aber nicht glauben, dass es keine (einfache) Lösung für diese alltägliche Frage gibt!

      Bitte, bitte schreib doch jemand die 3 Zeile Code mal auf, die in meinem Fall vermutlich nötig sind. In meinen Notizen schwirren alle möglichen Schnipsel von Lösungsansätzen rum, von denen ich nicht mehr weiss, wie die anzuwenden sind (ini_set(session.use_trans_sid, on/off/1/0 oder sonstwas), ini_set('url_rewriter.tags','') etc. etc.)

      Der php-Gott wird es Euch danken!

      Gruß
      Frank

      Kommentar

      Lädt...
      X