Wert mitgeben

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

  • Wert mitgeben

    Hallo Leute

    Habt Ihr eine Idee, mir sind sie leider ausgegangen. Folgendes:

    Ich habe ein Login programmiert bei welcher intern mit funktionen gearbeitet wird.
    Beispiel:
    PHP-Code:
    logged($aut_user_us_1,$aut_id_us,$sessionid_us,$sprache,$seite,$best_link); 
    Nun will ich nach erfolgreichem Login den Header neu laden; dafür habe ich im Index den
    PHP-Code:
    header ("Location: $base$seite.html"); 
    vorgesehen.

    Mein problem ist, wie kann ich im Index verifizieren, dass das Login erfolgreich ist?

    Ich kann wohl mit der Variablen arbeiten, welche ich beim ansenden das Formulares gebraucht wird. Nur werden dann die Fehlerprüfungen (mit funktionen) nicht mehr durchgeführt (Logisch).

    Nun brauche ich jrgendwie einen Wert den ich weitergeben kann, bis zum Beginn der Seite (index).

    Ich hoffe Ihr schnallt was ich meine, habe versucht mich verständlcih auszudrücken.

    Wäre um einen Tipp froh. Danke

  • #2
    das macht man üblicherweise in einer session.

    Kommentar


    • #3
      OK das klingt interessant, ich arbeite schon mit session, nur wie kann ich jetzt dort wo einen Wert mitliefern?

      Kommentar


      • #4
        Original geschrieben von rönee
        OK das klingt interessant, ich arbeite schon mit session,
        Aber - bisher ohne verstanden zu haben, was sie eigentlich sind?
        nur wie kann ich jetzt dort wo einen Wert mitliefern?
        Lege dir einfach in der Session die Info ab, dass der Nutzer sich erfolgreich angemeldet hat - und frage sie auf den Folgeseiten wieder ab.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ja, das habe ich auch schon versucht, aber bei mir wird die session erst nach erneutem Reload ausgelesen.

          Sprich, ich setzte die Session beim login und würde diese gerne auslesen auf der Indexseite. Wobei ich die Session id erhalte aber den Wert noch nicht

          Kommentar


          • #6
            Die Übergabe der SID per Cookie gestaltet sich zuweilen problematisch, wenn direkt nach dem Starten der Session per Location-Header weitergeleitet wird.

            Hänge sie manuell als GET-Parameter an die Zieladresse an.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              aber das ist genau mein Problem, ich kann nicht mitten in der Seite mittels haeder weiterleiten. Also wenn ich die Session setzte befinde ich mich mitten im body tag.

              Kommentar


              • #8
                Also wenn ich die Session setzte befinde ich mich mitten im body tag.
                und warum setzt du die session nicht zu beginn deines codes?

                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Ich habe ein Login programmiert bei welchem im Code drin das Login erfolgt und somit die session eingettragen wird. Da müsste ich alles umbauen! Und dieses Loginfenster ist frei auf der Seite einsetzbar

                  Kommentar


                  • #10
                    und was hindert dich an folgendem (pseudocode):
                    PHP-Code:
                    <?
                    if ($_POST)
                    {
                       // überprüfung der Daten
                       if ($login_erfolgreich)
                       {
                          sesssion_start();
                         ...
                       }
                    }
                    ?>
                    <doctype ....
                    wenn sich jemand über ein formular einloggt, so steht die superglobale $_POST überall zur verfügung, auch im kopf deines scriptes.

                    gruß
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      Meine Fehlerprüfung wird auch mittels _POST weiter gegeben. Ich kann auch bei dem Link ?log=in diese Variable abfragen, was auch funktioniert wie bei Deinem Beispiel, nur habe ich dann wieder das Problem mit den Funktionen und der Fehlerprüfung. Ich muss einen eindeutigen Wert auslesen können der bereits gesetzt wird wenn ich die Logged funktion aufrufe um sie vor den <doc zu bringen.

                      Ich trage die Session in eine Db ein und vergleiche Sie mit der aktuellen SID, nur kann auch der Vergleich erst nach erneutem Reload gelesen werden!

                      Ich verstehe nicht wrum ich die DB einträge nicht beim ersten Aufruf abfragen kann?
                      Zuletzt geändert von rönee; 09.05.2007, 10:06.

                      Kommentar


                      • #12
                        Hm, also irgendwas läuft schief. Ich beschreib mal kurz, wie man es normalerweise macht, und du kannst dann ja beschreiben, was bei dir anders ist.

                        login.php (Pseudocode)

                        PHP-Code:
                        session_start();

                        if (isset(
                        $_POST['login_user']) && isset($_POST['login_pw'])) {

                           
                        // Das Formular wurde abgeschickt
                           
                        if (...PW Überprüfung in Datenbank) {
                               
                        // Alles ok. In die Session schreiben und weg von hier.
                               
                        $_SESSION['is_loggedin'] = 1;
                               
                        header("Location: geheim.php");
                           }

                        }

                        // Das Formular wurde noch nicht abgeschickt, oder die 
                        //Eingabe ist nicht korrekt. Also Formular anzeigen.

                        echo("<form action=\"login.php\" method=\"post\">
                        <input type=\"text\" name=\"login_user\" />
                        <input type=\"password\" name=\"login_pw\" />

                        <input type=\"submit\" name=\"log_me_in\" value=\"ok\"/>

                        </form>\n"
                        ); 
                        dann natürlich auf allen geschützten seiten auf den Sessionwert überprüfen, und ggf. wieder zur login.php umleiten.


                        EDIT: Zu früh abgesendet wegen akuter dicker Finger.
                        Zuletzt geändert von ministry; 09.05.2007, 10:11.
                        ich glaube

                        Kommentar


                        • #13
                          Ja, bei mir ist es ähnlich.

                          Ich habe ein Login welches mittels include_once eingebunden wird.
                          Und das wird mit einem Formular abgehandelt.

                          Nach erfolgreichem Login trage ich die SID in die DB ein und starte die logged funktion.

                          Nun will ich auf Index danach (das login ist included) die Session in der DB auslesen, diese ist aber erst nach erneutem Reload (f5) sichtbar obwohl der Eintrag vorhanden ist-

                          Kommentar


                          • #14
                            Dann beschreibe doch bitte nochmal dein Problem - bei meinem Beispiel ist man nämlich bei der Überprüfung nicht "mitten im Body-Tag".
                            ich glaube

                            Kommentar


                            • #15
                              Richtig, und so würde es auch bei mir funktionieren.

                              Ich habe mein problem schon mehrfach erwähnt;

                              Ich will die Seite nach erfolgreichem login umleiten, sprich mittels header neu setzten. Dafür muss ich in den Kopfbereich vor den Body (klar). Um nun den Header geziehlt zu starten sollte ich einen eindeutigen Wert aus dem login zu verfühgung haben. Also zum Beispiel die SID welche ich dann nimm und mittels Abfrage die SID auf der Logintabelle vergleiche. Und dann kommt der header!!!!!

                              Mein Problem ist, dass ich den SID eintrag aus der Tabelle nicht sehe obschon er eingetragen ist, nach Reload (F5) wir sie dnn doch noch ausgegeben.

                              Kommentar

                              Lädt...
                              X