POST an 2 Seiten übergeben

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

  • POST an 2 Seiten übergeben

    Hallo,

    ich habe ein Login auf meiner Seite eingebaut.

    Die Logindaten werden in einem Formular eingegeben und
    der Username und das Passwort werden per POST an die Seite

    login.php

    übergeben. Und wenn die Logindaten korrekt sind, wird der User
    zur Seite

    inhalt.php

    weitergeleitet.

    In der Datei login.php habe ich folgenden Code eingefügt um die
    Logins der User zu zählen:

    PHP-Code:
    $query="UPDATE login SET Logins = Logins + 1 WHERE Nickname = '$_POST[name]'";
    $ok mysql_query($query) or die(mysql_error()); 
    Auf der Seite inhalt.php möchte ich jetzt folgendes anzeigen lassen:

    "Hallo Klaus das ist Dein 4.Besuch hier."

    Also muss ich das POST des Formulares auch an die Datei inhalt.php
    übergeben, das er den richtigen User anzeigt.

    Wenn ich es so mache funktioniert es aber nicht:

    PHP-Code:
    $abfrage "SELECT Nickname, Logins FROM login WHERE Nickname = '$_POST[name]'";
    $ergebnis mysql_query($abfrage); 
    Wie kann ich das POST vom Formular auch an die Datei inhalt.php
    übergeben?


    Grüße von Sven

  • #2
    Was heisst es funktioniert nicht, was genau geht nicht ? Wird der Name angezeigt ? Wie holst du dir die Werte aus deiner Tabelle ? Poste mal was du bisher noch programmiert hast.
    Zuletzt geändert von sypr0; 23.02.2007, 20:42.

    Kommentar


    • #3
      Re: POST an 2 Seiten übergeben

      Du möchtest dich mit Sessions beschäftigen.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Oder du bringst in der login.php ein weiteres Formular unter, in dem du ein hidden Input-Feld machst, also
        PHP-Code:
        <input type="hidden" name="name" value="<?php echo $_POST['name']; ?>" />
        und schickst dieses bei erfolgreicher anmeldung an die inhalt.php.

        Ist aber nur eine mehr oder weniger suboptimale Lösung. Würde die Session-Variante vorziehen. Aber es geht auch ohne... :P

        Kommentar


        • #5
          [QUOTE]Original geschrieben von daN-the-man
          PHP-Code:
          <input type="hidden" name="name" value="<?php echo $_POST['name']; ?>" />
          QUOTE]

          ^^ Unfug

          @ Sven

          Du solltest mit Session arbeiten und in deiner login.php die postdaten in der session speichern, dann kannst du sie auf deinen anderen seiten auch wieder abfragen mit zb. $_SESSION['name']

          Kommentar


          • #6
            Hallo,

            ich habe mich jetzt mal mit den Sessions befasst.
            Aber leider mag es nicht so richtig das anzeigen was ich möchte.

            In der Datei login.php sind schon Sessions eingetragen gewesen:

            PHP-Code:
            // Benutzerdaten in ein Array auslesen.
            $data mysql_fetch_array ($result);
             
            // Sessionvariablen erstellen und registrieren 
            $_SESSION["user_id"] = $data["Id"]; 
            $_SESSION["user_nickname"] = $data["Nickname"]; 
            Wenn ich die Session nun in der Datei inhalt.php ausführe wird mir nichts angezeigt:

            PHP-Code:
            <?php
              session_start 
            ();
              if (!isset (
            $_SESSION["Nickname"])) 
                {
                include (
            'config.php'); 
                echo 
            "<table id='statistik2'>";
                
            $abfrage "SELECT Nickname, Logins FROM login WHERE Nickname = 'Nickname'";
                
            $ergebnis mysql_query($abfrage) or die(mysql_error());
                while(
            $row mysql_fetch_object($ergebnis))
                {
                echo 
            "<tr><td class='name'>Hallo ";
                echo 
            $row ->Nickname;
                echo 
            " das ist Dein "
                echo 
            $row ->Logins;
                echo 
            ". Besuch";
                echo 
            "</td></tr>";
                }
                echo 
            "<tr><td class='name'></td></tr>";
                echo 
            "<tr><td class='name'>";
                include (
            'counter.php');
                echo 
            "</td></tr></table>";
                }
            ?>
            Wenn ich die WHILE-Schleife herrausnehme zeigt er mir folgendes an:

            Hallo das ist Dein . Besuch
            Also ohne den Nicknamen und Anzahl der Logins.
            Eine Fehlermeldung wird auch nicht angezeigt.

            Wo hat sich der Fehlerteufel versteckt?


            Grüße von Sven

            Kommentar


            • #7
              Original geschrieben von Sven4972
              PHP-Code:
              // Benutzerdaten in ein Array auslesen.
              $data mysql_fetch_array ($result);
               
              // Sessionvariablen erstellen und registrieren 
              $_SESSION["user_id"] = $data["Id"]; 
              $_SESSION["user_nickname"] = $data["Nickname"]; 
              Du müsstest dann aber die Ausgabe anders gestalten. Und zwar auch mit Ausgabe der Sessiondaten.

              PHP-Code:
              echo "<tr><td class='name'>Hallo ";
              echo 
              $_SESSION["user_nickname"];
              echo 
              " das ist Dein "
              echo 
              $_SESSION["login_times"]; // <-- Hier fehlt dir noch die obige Wertezuweisung
              echo ". Besuch"
              mfg nOe
              "I am what I am and I do what I can..."
              Meine HP -- Mein GPG-Key
              Meine Projekte: WebStorage 2.0 -- easyAJAX-Chat 2.2.0 (beta)

              Kommentar


              • #8
                Original geschrieben von Sven4972

                login.php
                PHP-Code:
                // Sessionvariablen erstellen und registrieren 
                $_SESSION["user_id"] = $data["Id"]; 
                $_SESSION["user_nickname"] = $data["Nickname"];
                ... 
                inhalt.php
                PHP-Code:
                <?php
                  session_start 
                ();
                  if (!isset (
                $_SESSION["Nickname"])) 
                ...
                ?>
                1. session_start(); muss auch in deiner login ausgeführt werden.
                2. vergleich mal deine Session variablen, vielleicht fällt dir was auf .
                3. wenn keine Session dann machst du nen query

                Kommentar

                Lädt...
                X