Hilfe für login script von mrhappines

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

  • Hilfe für login script von mrhappines

    Hallo,
    ich bräuchte Hilfe für eine kleine Erweiterung des Skriptes von mrhappines.

    Ich will nur das im eingeloggten zustand, auch der username des eingeloggten angezeigt wird.

    Deshalb wollte ich in die sessionhelpers folgende Funktion einbauen:
    PHP-Code:
    function date()
    {
        
    $sql="SELECT userid,username,regmail
        FROM bb1_user_table
        WHERE UserSession='"
    .session_id()."'
        LIMIT 1"
    ;
        
    $resultmysql_query($sql);


    Und diese dann mit der überprüfung wie folgt einflechten:

    PHP-Code:
    <center>Status: <?
          if (!logged_in())
          echo 'Sie sind nicht eingeloggt.';

    else {
        if (!date())
        echo 'Sie sind eingeloggt als $date[username]. ';
        echo '[<a href="logout.php">Ausloggen</a>]&nbsp;&nbsp;';
             }
    ?></center>
    Ich bekomme allerdings diesen fehler:
    Fatal error: Call to undefined function: logged_in() in /www/htdocs/.../login/test.php on line 224

    Für Hilfe und Lösung meines problems wär ich sehr dankbar.
    Gruß
    flo

  • #2
    die function logged_in() hast du irgendwo deklariert und kann auch von dem script angesprochen werden?

    Kommentar


    • #3
      PHP-Code:
      function logged_in()
      {
          
      $sql="SELECT userid
          FROM bb1_user_table
          WHERE UserSession='"
      .session_id()."'
          LIMIT 1"
      ;
          
      $resultmysql_query($sql);
            return ( 
      mysql_num_rows($result)==1);

      Und direkt danach wollte ich die Funktion data() mit
      den parametern deklarieren, aber irgendwie klappt es net
      Vielleicht kann ich in die Select Abfrage von logged_in() auch
      nach username und regmail fragen, blos dann müsste es irgendwie anders formatiert werden, oder?

      Danke für die Hilfe
      flo

      Kommentar


      • #4
        data() mit den parametern deklarieren


        in welcher datei steht das logged_id() {....} und wo wird dann logged_in(...) aufgerufen?

        Kommentar


        • #5
          Die Funktionen stehen in den sessionhelpers.inc.php

          Und das ganze soll auf einer test.php stattfinden,
          die ganz oben über jedem code mit
          PHP-Code:
           <?php
          session_start
          ();
          include 
          'sessionhelpers.inc.php';
          ?>
          beginnt

          in den sessionhelpers

          ist die originalfunktion

          PHP-Code:
          function logged_in()
          {
              
          $sql="SELECT userid
              FROM bb1_user_table
              WHERE UserSession='"
          .session_id()."'
              LIMIT 1"
          ;
              
          $resultmysql_query($sql);
                return ( 
          mysql_num_rows($result)==1);

          so dass auf der testseite ausgegeben wird ob eingeloggt oder nicht

          PHP-Code:
          <?
                if (!logged_in())
                echo 'Sie sind nicht eingeloggt.';

          else {
              echo 'Sie sind eingeloggt. ';
              echo '[<a href="logout.php">Ausloggen</a>]&nbsp;&nbsp;';
              }
          ?>

          ich will, dass da einfach ausgegeben wird,
          falls eingeloggt:
          " Sie sind eingeloggt als 'Username' "

          Entweder mit einer neuen funktion oder durch veränderung
          der logged_in. ich weiß leider nicht, wie ich es anstellen soll,
          weshalb ich um Hilfe bitte.

          Kommentar


          • #6
            ich geh jetzt einfach mal davon aus, das der o.g. fehlermeldung abgearbeite ist, da du ja jetzt ein völlig anderes thema anschneidest.

            persönlcih hab ich das mit $_SESSION['...']; gelöst.

            ich frage die für mich erforderlicheen felder beim anmelden ab und speicher sie in o.g. array.

            immer dann, wenn ich den namne des entsprechenden brauche kommt dann.

            echo "hallo ".$_SESSION['name']." wie geht es dir?";
            somit könnte ich abfragen, ob der jenige eingelockt ist, falls nicht vielleicht sicherheitshalber diese SESSION zerstören, oder unabhängi weiterarbeiten.

            das ganz kannst du schon beim ersten login in die entsprechene richtung lenken.

            EDIT:
            ps. in dem fall würde ich die function check_user() anpassen.

            Kommentar


            • #7
              könntest du dann deine funktion check_user mal
              zeigen oder zumindest diese verbessern:

              PHP-Code:
              function check_user($name$pass)
              {
                  
              $sql="SELECT userid,parameter1,parameter2,parameter3
                  FROM bb1_user_table
                  WHERE username='"
              .$name."' AND userpassword=MD5('".$pass."') AND parameter1='1'
                  LIMIT 1"
              ;
                  
              $resultmysql_query($sql) or die(mysql_error());
                  if ( 
              mysql_num_rows($result)==1)
                  {
                      
              $user=mysql_fetch_assoc($result);
                      return 
              $user['userid'];
                      return 
              $user['parameter2'];
                      return 
              $user['parameter3'];



                  }
                  else
                      return 
              false;

              Und wie kann ich es dann auf der Testseite aufrufen?


              PHP-Code:
              <?
                    if (!logged_in())
                    echo 'Sie sind nicht eingeloggt.';

              else {
                  echo 'Sie sind eingeloggt als $user[parameter2]. ';
                  echo '[<a href="logout.php">Ausloggen</a>]&nbsp;&nbsp;';
                       }
              ?>
              oder irgendwie anders, jetzt bin ich ratlos?

              Kommentar

              Lädt...
              X