UserName ausgeben wenn session_id=Wert in Tab. ist

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

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

    Comment


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

      Comment


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

        Comment


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

          Comment


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

            Comment


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

              Comment


              • #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
                Last edited by konSumi; 04-07-2004, 18:16.
                Flashtuts - Flash Tutorials und Downloads für alle Versionen
                psdtuts - Photoshop Tutorials, Galerie, Battles

                Comment


                • #9
                  dann hast du mein echo noch nicht drin

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

                  Comment


                  • #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...
                    Last edited by mrhappiness; 04-07-2004, 18:37.
                    Flashtuts - Flash Tutorials und Downloads für alle Versionen
                    psdtuts - Photoshop Tutorials, Galerie, Battles

                    Comment


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

                      Comment


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

                        Comment


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

                          Comment


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

                            Comment


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

                              Comment

                              Working...
                              X