UserName ausgeben wenn session_id=Wert in Tab. ist

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

  • UserName ausgeben wenn session_id=Wert in Tab. ist

    Hi,
    hab mal wieder ein Problem und hänge schon Stunde dran.

    Aufbau:
    Ich habe ein LoginScript, dass einem Newsschreib Formular vorgeschaltet ist. Nun möchte ich, dass auf diesem Newsschreib Formular obene steht "Hallo " und dann soll der Name folgen mit dem man sich eingeloggt hat.
    Der Login funktioniert einwandfrei. Es wird dann in eine Tabelle namens "users" eine "UserSession" Zahl eingegeben. Das ist die Zahl der session_id.

    Problem:
    Ich will ja nun den namen ("UserName") ausgeben, bei dem die aktuelle session_id mit der Zahl "UserSession" übereinstimmt. Das tut er aber leider nicht.

    Hier mein Script:
    PHP-Code:
    $pp="SELECT UserName
        FROM users 
        WHERE UserSession = "
    .session_id().""
        
    $resultmysql_query($pp);
        
    $a mysql_fetch_row($result);
        echo 
    $a["UserName"]; 


    Das Script zur gesamten Login.php Datei findet ihr hier: http://nopaste.php-q.net/68864

    Ich komm einfach nicht mehr weiter. THX schonmal

    PS: Das ist das Login Script von Mr. Happiness
    Flashtuts - Flash Tutorials und Downloads für alle Versionen
    psdtuts - Photoshop Tutorials, Galerie, Battles

  • #2
    Re: UserName ausgeben wenn session_id=Wert in Tab. ist

    Original geschrieben von konSumi
    Das ist das Login Script von Mr. Happiness
    Und da bist du nicht auf Idee gekommen, dir anzuschauen, wie ich bei der funktion logged_in mit der spalte UserSession arbeite?

    beachte er die '

    alternativ kannst du ja aus mysql_query($pp); mal mysql_query($pp) or die(mysql_error()); machen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Hi,
      erstmal thx, durch dein Script bin ich überhaupt in der Lage das Login zu führen.
      Doch ich habe mir deine Funktionen angeschaut,
      steige aber nicht ganz dahinter.

      Was habe ich nur falsch gemacht, an meinem Script sind es nur die ' oder wie?
      Flashtuts - Flash Tutorials und Downloads für alle Versionen
      psdtuts - Photoshop Tutorials, Galerie, Battles

      Kommentar


      • #4
        Original geschrieben von konSumi
        Doch ich habe mir deine Funktionen angeschaut,
        steige aber nicht ganz dahinter.

        Was habe ich nur falsch gemacht, an meinem Script sind es nur die ' oder wie?
        Original geschrieben von mrhappiness
        beachte er die '

        alternativ kannst du ja aus mysql_query($pp); mal mysql_query($pp) or die(mysql_error()); machen
        ausprobieren?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          der gibts das einfach gar nicht aus,
          er beachtet meine Befehl gar nicht, das verstehe ich nicht:
          Sieht nun so aus:
          PHP-Code:
          $pp="SELECT UserName
              FROM users 
              WHERE UserSession='"
          .session_id()."' 
              LIMIT 1"

              
          $resultmysql_query($pp) or die(mysql_error()); 
              
          $a mysql_fetch_row($result);
              echo 
          $a["UserName"]; 
          Ich will ja nur den UserName auslesen, von demjenigen der sich gerade eingelogged hat. Das hast du doch bei deinem LoginScript bestimmt auch schon gemacht oder?
          Flashtuts - Flash Tutorials und Downloads für alle Versionen
          psdtuts - Photoshop Tutorials, Galerie, Battles

          Kommentar


          • #6
            Der Vergleichswert der Abfrage muss in einfache Quotes.

            WHERE UserSession = '".session_id()."' und was soll in diesen String hier?"
            Liberate me domine ex eo inferiis...

            Kommentar


            • #7
              Original geschrieben von konSumi
              Das hast du doch bei deinem LoginScript bestimmt auch schon gemacht oder?
              nein


              mach aus $pp = mal echo $pp =
              so bekommst du die abfrage ausgegeben

              die kannst du dannmit copy&paste in deinen phpmyadmin kopieren und dort mal ausführen

              stimmt da das ergebnis?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                es wird nix ausgegeben.
                Sobald ich mich eingelogged habe steht da:
                News schreiben
                Bilder upload
                Ausloggen
                Check

                Sonst nix

                *Update*
                mit:
                PHP-Code:
                $pp="SELECT UserName
                    FROM users 
                    WHERE UserSession = '"
                .session_id()."' 
                    LIMIT 1"

                    
                $resultmysql_query($pp) or die(mysql_error()); 
                    
                $a mysql_fetch_row($result);
                    echo 
                $a["UserName"];
                    echo 
                $pp
                wird ausgegeben:
                SELECT UserName FROM users WHERE UserSession = 'aeb6ec7f68cf8f2272f41838fc0f9817' LIMIT 1

                und die UserSession Zahl steht auch in der DB drin
                Zuletzt geändert von konSumi; 04.07.2004, 18:16.
                Flashtuts - Flash Tutorials und Downloads für alle Versionen
                psdtuts - Photoshop Tutorials, Galerie, Battles

                Kommentar


                • #9
                  dann hast du mein echo noch nicht drin

                  poste mal den kompletten code der seite
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    PHP-Code:
                    <? 
                    session_start(); 
                    include 'sessionhelpers.inc.php'; 
                    if (isset($_POST['login'])) 

                        $userid=check_user($_POST['username'], $_POST['userpass']); 
                        if ($userid!=false) 
                            login($userid); 
                        else 
                            echo 'Ihre Anmeldedaten waren nicht korrekt!'; 

                    if (!logged_in()) {
                    echo 'formular'; }
                    else {
                    $pp="SELECT UserName
                        FROM users 
                        WHERE UserSession = '".session_id()."' 
                        LIMIT 1"; 
                        $result= mysql_query($pp) or die(mysql_error()); 
                        $a = mysql_fetch_row($result);
                        echo $a["UserName"];
                        echo $pp;
                    echo '<a href="index.php?aktuell=admin_news.php">News schreiben</a><br>';
                    echo '<a href="index.php?aktuell=admin_news.php">Bilder upload</a><br>';
                        echo '<a href="index.php?aktuell=logout.php">Ausloggen</a>'; 
                    echo '<p /><a href="index.php?aktuell=logged_in.php">Check</a>'; }

                    $aut = $username;

                    ?>
                    EDIT:
                    seite repariert...
                    Zuletzt geändert von mrhappiness; 04.07.2004, 18:37.
                    Flashtuts - Flash Tutorials und Downloads für alle Versionen
                    psdtuts - Photoshop Tutorials, Galerie, Battles

                    Kommentar


                    • #11
                      Ich hatte das Problem gestern auch.
                      Meine Fehler:
                      - einfache Quotes nicht beachtet
                      - mit den Feldnamen geschludert

                      Ich lese die Daten des aktuellen Users in ein Array und hole mir den Wert, den ich brauche dann ueber den Feldnamen:

                      $sql = "SELECT * FROM $table WHERE session='".session_id()."'";
                      $result = mysql_query($sql);
                      $session = mysql_fetch_assoc($result);

                      $username = $session["realname"];
                      $sess_id = $session["session_id"];

                      usw.
                      Liberate me domine ex eo inferiis...

                      Kommentar


                      • #12
                        was heisst usw.? und wie sieht dann der echo befehl aus. In meinem Fall müsste das dann heissen:

                        $username = $session["UserName"];

                        oder?
                        Flashtuts - Flash Tutorials und Downloads für alle Versionen
                        psdtuts - Photoshop Tutorials, Galerie, Battles

                        Kommentar


                        • #13
                          Mit usw. meinte ich die anderen Felddaten aus dem Array

                          Du hast das dann auch richtig verstanden.


                          Hast Du auch ein Browserfenster mit dem MySQLAdmin auf.

                          Sei Dir sicher, dass die Session auch tatsaechlich geschrieben wird, sonst kansst Du auch die id oder den namen, etc. nicht finden.
                          Liberate me domine ex eo inferiis...

                          Kommentar


                          • #14
                            Ja die Session wird 100% geschrieben ich klick immer aktuallisieren wie blöd.

                            Das mit den Felddaten aus dem Array verstehe ich nicht. Was meinst du damit?

                            Ich habe nun mal geschrieben:

                            PHP-Code:
                            $sql "SELECT * FROM users WHERE session='".session_id()."'";
                            $result mysql_query($sql);
                            $session mysql_fetch_assoc($result);

                            $username $session["UserName"];
                            $sess_id $session["session_id"];
                            echo 
                            $username
                            gibt wieder nix aus.

                            Kannst du mal deinen Code posten?
                            Flashtuts - Flash Tutorials und Downloads für alle Versionen
                            psdtuts - Photoshop Tutorials, Galerie, Battles

                            Kommentar


                            • #15
                              Ich weiss nicht genau, ob fetch_row ein assoziertes Array ausgibt.

                              Probier doch mal fetch_array oder fetch_assoc
                              Liberate me domine ex eo inferiis...

                              Kommentar

                              Lädt...
                              X