SESSION Problem

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

  • SESSION Problem

    Hallo,

    Ich spiele gerade etwas mit Sessions und versuche hinter deren geheimnisse zu kommen

    leider gibts da ein kleines Problem


    wenn ich dieses Script

    PHP-Code:
    <?php
    session_start
    ();
    ?>

    <form method="post" action="<?php $_SERVER['PHP_SELF'];?>">

      <table width="100%"  border="0" cellspacing="5" cellpadding="0">
        <tr>
          <td width="12%">Vorname</td>
          <td width="88%"><input name="vorname" type="text" value="<?php echo $_SESSION['mein_vorname'];?>"></td>
        </tr>
        <tr>
          <td>Nachname</td>
          <td><input name="name" type="text" value="<?php echo $_SESSION['mein_name'];?>"></td>
        </tr>
        <tr>
          <td>PLZ / Ort </td>
          <td><input name="plz" type="text" value="<?php echo $_SESSION['meine_plz'];?>" size="6" maxlength="5">
          <input name="ort" type="text" value="<?php echo $_SESSION['mein_ort'];?>"></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="absenden"></td>
        </tr>
      </table>
      </form>
    <?php

            $mein_name 
    $_POST['name'];
            
    $mein_vorname $_POST['vorname'];
            
    $meine_plz $_POST['plz'];
            
    $mein_ort $_POST['ort'];
            
            
    session_register ('mein_name');
            
    session_register ('mein_vorname');
            
    session_register ('meine_plz');
            
    session_register ('mein_ort');

    echo 
    "<a href=\"02.php\" target=\"_self\">Weiter</a>";

            
    ?>

    mit

    PHP-Code:
    <?php $_SERVER['PHP_SELF'];?>
    versende funktioniert alles einwandfrei, aber sobald ich eine 2. Datei

    diese hier

    PHP-Code:
    <?php
    session_start
    ();
    ?>


    <p>Hallo <strong>
    <?php echo $_SESSION['mein_vorname'];?>&nbsp;<?php echo $_SESSION['mein_name'];?>
    </strong> bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben und best&auml;tigen Sie Ihre Auswahl</p>
    <p>Ihre Daten:</p>
    <table width="100%"  border="0" cellspacing="5" cellpadding="0">
      <tr>
        <td width="10%"><strong>Vorname:</strong></td>
        <td width="90%"><?php echo $_SESSION['mein_vorname'];?></td>
      </tr>
      <tr>
        <td><strong>Nachname:</strong></td>
        <td><?php echo $_SESSION['mein_name'];?></td>
      </tr>
      <tr>
        <td><strong>PLZ / Ort: </strong></td>
        <td><?php echo $_SESSION['meine_plz'];?> <?php echo $_SESSION['mein_ort'];?></td>
      </tr>
    </table>
    <p><a href="javascript:history.back()">Daten &auml;ndern</a></p>
    angebe die die daten aufnimmt geht nichts mehr

    Es werden die daten also nur übergeben wenn ich auf den weiter link klicke, nicht aber wenn ich die 2. datei direkt als action benutze.

    Bin kein PHP Profi und fange mit Sessions erst gerade an, ich hoffe ihr könnt mir helfen
    Zuletzt geändert von yakuzza; 24.08.2005, 11:41.

  • #2
    Wenn du die zweite Datei direkt als action angibst, stehen die Daten in der zweiten Datei im Array $_POST und nicht in $_SESSION




    Brich bitte deinen Code um, so dass mannicht scrollen muss
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      ich dachte, dass ich mit sessions von jeder seite aus auf die Array Werte in $_SESSION zugreifen kann.

      Gibt es nicht bei manchen Providern Probleme mit scripts die $_POST etc verwenden.. sollte man nicht statdessen $_SESSION nehmen? *verwirrt bin*

      oder spreche ich über $_POST automatisch Werte aus der $_SESSION an?

      Kommentar


      • #4
        Original geschrieben von mrhappiness
        Brich bitte deinen Code um, so dass mannicht scrollen muss
        - bitte

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Also wenn du die Session sauber an dein zweites Script weitergeben würdest, dann könntest du auch dort auf die Session Vars zugreifen.
          Mach beim Form action mal :
          PHP-Code:
          echo "<form action=\"mein_anderes_script.php?".session_id()." method=\"post\">...</form>"
          Ausserdem würde es sicherlich nicht schaden mal bei php.net vorbeizusurfen und etwas über die Sessions zu lernen.
          Btw
          Wat denn dat ?????
          PHP-Code:
          $mein_name $_POST['name'];
          $mein_vorname $_POST['vorname'];
          $meine_plz $_POST['plz'];
          $mein_ort $_POST['ort'];
          session_register ('mein_name');
          session_register ('mein_vorname');
          session_register ('meine_plz');
          session_register ('mein_ort');

          //wenn schon dann
          $mein_name $_POST['name'];
          $mein_vorname $_POST['vorname'];
          $meine_plz $_POST['plz'];
          $mein_ort $_POST['ort'];
          session_register ("$mein_name");
          session_register ("$mein_vorname");

          //" ist auch unnötig denn
          session_register ($meine_plz);
          session_register ($mein_ort);
          //funzt auch 
          Wenn du schon bei PHP.net bist dann mach dich auch über der Unterschied zwischen ' und " schlau (könnte helfen)

          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


          • #6
            $_POST ist $_POST
            $_SESSION ist $_SESSION

            Die zwei haben nichts miteinander zu tun

            Wenn du ein Formular abschickst und dabei method="post" verwendest, kannst du auf die Formularinhalte in der Datei zugreifen, an die du das Formular gesendet hast und zwar nur dort.
            Der Zugriff dort erfolgt über $_POST


            Wenn du die Werte auch in $_SESSION haben willst, musst du PHP das sagen
            PHP-Code:
            $_SESSION['mein_name'] = $_POST['mein_name']; 
            (session_register sollte nicht mehr verwendet werden)

            Und jetzt brich endlich den Code um, wenn ich scrollen muss, steigt meine Motivation, entsprechende Beiträge so zu bearbeiten, dass ich das nicht mehr muss... den Gehalt der Beiträge kannich dabei nicht immer auf dem Ursprungslevel halten...
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              session_register() solltest du in Verbindung mit $_SESSION nicht mehr verwenden.

              Ein Beispiel für die Benutzung einer Session über mehrere Seiten findest du hier:

              http://www.heddesheimer.de/coaching/php_login.html

              Aus dem Code dürfte dir klar werden, wie man mit $_POST und $_SESSION umgehen muss, damit das Formular funktioniert.

              Gruß Marian
              Online-Kurse die jeder versteht: HTML, PHP, MySQL, Word, Excel
              http://www.lernpilot.de/wbt/

              Kommentar


              • #8
                Wie bereits am Anfang geschrieben, bin ich in Sachen Sessions noch Anfänger und versuche mich gerade in dieses Thema reinzuarbeiten.

                Original geschrieben von jahlives

                Wenn du schon bei PHP.net bist dann mach dich auch über der Unterschied zwischen ' und " schlau (könnte helfen)

                tobi [/B]
                Sag das mal dem Author von diesem Buch hier:

                Programmieren lernen in PHP 5
                ISBN: 3-446-22737-7

                hab nur sein Beispiel nachgemacht.. dort sind leider einige solcher Fehler drin.. mal fehlt ein echo mal ein Komma oder ein $.

                Wer kann mir ein gutes PHP Buch empfehlen?
                Zuletzt geändert von yakuzza; 24.08.2005, 11:49.

                Kommentar


                • #9
                  Wenn ich dir ein gutes PHP Buch empfehlen darf:

                  Programmieren lernen in PHP 5
                  Jörg Krause
                  http://www.amazon.de/exec/obidos/ASI...038278-3520044

                  Als nachschlagewerk kann ich
                  PHP 5 - Grundlagen und Profiwissen empfehlen. Auch das eignet sich für Anfänger. Auch von Jörg Krause
                  http://www.amazon.de/exec/obidos/ASI...038278-3520044

                  EDIT:
                  Im übrigen kommen die meisten Fehler in Programmier-büchern für die Redakteure die Korrektur lesen und meinen Sie müssen da Rechtschreibfehler und Kommasetzung korrigieren. Hat ein Bekannter so erlebt.

                  Kommentar


                  • #10
                    Original geschrieben von prego
                    [B]Wenn ich dir ein gutes PHP Buch empfehlen darf:

                    Programmieren lernen in PHP 5
                    Jörg Krause
                    http://www.amazon.de/exec/obidos/ASI...038278-3520044
                    Genau das Buch habe ich ja Aber leider ist es voller Fehler! s.o.
                    Das andere werde ich mir mal ansehen

                    EDIT :

                    Im übrigen kommen die meisten Fehler in Programmier-büchern für die Redakteure die Korrektur lesen und meinen Sie müssen da Rechtschreibfehler und Kommasetzung korrigieren. Hat ein Bekannter so erlebt.
                    Wenn Jahlives recht mit dem vergessenen $ hat dann ist das wohl kein Korrektur fehler Das ist dann schon sehr ärgerlich, als Anfänger weiß man nicht wie es korrekt sein muss..

                    Aber ich bin ja froh, dass es kompetente Hilfe hier im Forum gibt.. hat mir sehr geholfen.
                    Zuletzt geändert von yakuzza; 24.08.2005, 11:53.

                    Kommentar


                    • #11
                      Hmm, hab hier das Grundlagen und Profiwissen vom Krause liegen und hab da bis jetzt noch nichts falschen drin entdeckt.

                      Ich nutze es aber eher als Nachschlagewerk.


                      http://www.oreilly.de/catalog/progphpger/index.html
                      Das Vielleicht noch - da hat einer der Erfinder von PHP mitgeschrieben.
                      Kenne das Buch selbst nicht, hab aber einige andere Bücher von O'Reilly und war damit bisher sehr zufrieden. Vor allem was die Lektoren angeht - das Samba Buch von denen gilt schon als Referenz. Der Meinung bini ch übrigens auch.

                      Kommentar


                      • #12
                        Stimmt die O'reily Bücher sind echt nicht schlecht, hatte das besagte Samba Buch auch schon mal in den Fingern Ist echt gut.

                        Da werd ich mich mal umsehen

                        Danke

                        Kommentar

                        Lädt...
                        X