POST an 2 Seiten übergeben

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.
    Last edited by sypr0; 23-02-2007, 20:42.

    Comment


    • #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.

      Comment


      • #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

        Comment


        • #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']

          Comment


          • #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

            Comment


            • #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)

              Comment


              • #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

                Comment

                Working...
                X