Sessions und Header

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

  • Sessions und Header

    Hallo,

    ich habe eine Index Seite mit Formularen, die Formularinhalte werden per Session gespeichert. Beim Abschicken des Formulares werden die Inhalte der Sessions ausgewertet und eine Email versendet.

    Wenn inhalte in den Formularfeldern falsch sind, gehe ich mit

    PHP-Code:
    header("Location: index.php?error=3"); 
    wieder zurück auf die Indexseite, allerdings stehen die Eingaben in den Formularfeldern nicht mehr drin. Die Formularfelder sind wie folgt aufgebaut:

    PHP-Code:
    <input type="text" name="class_form[EMailAdresse]" value="<? echo $_SESSION['class_form[EMailAdresse]'] ?>" size="40" maxlength="40">
    Warum bleibe die Inhalte in den Textfelern nicht erhalten? Kann mir jemand weiterhelfen?

  • #2
    Wenn du zurück auf die index verwiesen wirst einfach mal
    PHP-Code:
    print_r($_SESSION);
    //und vllt auch wenn du das Formular verschickst
    print_r($_POST); 
    Stimmen denn die von dir verwendeten Namen ?

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      error_reporting auf E_ALL???

      SID übergeben?

      Kommentar


      • #4
        error_reporting auf E_ALL???
        Ja, eingestellt. Bringt aber keine Fehlermeldung

        SID übergeben
        Ja:
        PHP-Code:
        header("Location: index.php?PHPSESSID=tqmjvksnd8osk9aklirqbg2271&error=3"); 
        Die SID übergebe ich im String, ändert aber daran auch nichts.

        Kommentar


        • #5
          Re: Sessions und Header

          Original geschrieben von Helge79
          Beim Abschicken des Formulares werden die Inhalte der Sessions ausgewertet und eine Email versendet.

          Vielleicht verwechselt der Frager einfach $_SESSION und $_POST, hat den Formularinhalt nicht
          in die $_SESSION übertragen und dergleichen. oder überträgt es nur im Fehlerfall nicht.. weil ja fehlerhaft...

          Beim Abschicken des Formulars sollten nämlich die Inhalte von $_POST ausgewertet
          werden....er beschreibt aber was anderes.... Es hat noch mehr von der Sorte,
          wo man bloss erahnen kann, was gemeint wäre.
          Zuletzt geändert von heiss; 19.07.2006, 11:32.

          Kommentar


          • #6
            Jo wäre hilfreich, wenn der threadstarter debugging betreibt.

            Kommentar


            • #7
              Vielleicht verwechselt der Frager einfach $_SESSION und $_POST,
              Nei, das tue ich nicht.
              Jo wäre hilfreich, wenn der threadstarter debugging betreibt.
              Na gut

              Also habe jetzt die beiden Seiten nochmals dargestellt, vielleicht wirds dann klarer:

              Also das ist die Indexseite, oben die Ausgaben der
              PHP-Code:
              print_r($_SESSION); 
              http://www.mobily24.de/images/index.JPG

              auf der Nächsten Seite werden die Sessionvariablen ausgwertet und eine Email im Hintergrund versendet. Hier sind die Session Variablen noch gesetzt.

              http://www.mobily24.de/images/email.JPG

              Die Formulareingaben werden auf der 2. Seite ausgewertet und wenn z.B. die Emailadresse falsch ist, dann wird wieder zurückgeleitet zur index (ssid über die URL übertragen, allerdings sind die anderen Sessionvariablen, die dann auch automatisch als Werte in die Textfelder eingetragen werden, nicht mehr verfügbar.

              http://www.mobily24.de/images/index_error.JPG

              Sodele ists nun hoffentlich etwas klarer
              Zuletzt geändert von wahsaga; 21.07.2006, 11:27.

              Kommentar


              • #8
                wenn du mit header - location im fehlerfall weiterleitest, gehen die $_POST - infos verloren, und der umweg über $_SESSION ist eher ein hindernis und nicht besonders gut.
                wie man richtig arbeitet, steht hier:
                http://de.wikipedia.org/wiki/Affenformular
                am besten du lernst gleich mit quickform umzugehen
                http://pear.php.net/package/HTML_QuickForm , dann hast du das problem nie wieder.
                und zum schluss noch der hinweis, dass der Location - header einen _absoluten_ URI verlangt und keinen relativen. dass es bei dir funktioniert ist _kein_ argument.
                das steht im manual auch dick und fett drin. http://www.php.net/header

                grüße
                axo
                Zuletzt geändert von axo; 21.07.2006, 08:40.

                Kommentar


                • #9
                  Hey cool, danke...

                  wird dann die Variablen erst mal auf der Index - Seite testen und dann erst weiterleiten, für die Zukunft mach ich mich mal dann an des HTML_QuickForm

                  Greetings

                  Kommentar

                  Lädt...
                  X