Adminbereich erstellen-Loginscript mrhappieness

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

  • Adminbereich erstellen-Loginscript mrhappieness

    Hallo!

    Ich habe wieder mal eine Frage zu meinem Login Script, das auf der Grundlage von mrhappieness liegt.

    Hab schon einiges erweitert und wollte nun einen Adminbreich einbauen. Ich habe folgendes gemacht:

    Datei admin.php (Formularfelder, wo ich die Eingabedaten eingebe):
    PHP-Code:
    <?php
    if (isset($_POST['login']))
    {
        
    $userid=check_admin($_POST['benutzername'], $_POST['pass']);
        if (
    $userid!=false)
            
    login($userid);        
        else
        {       echo 
    'Ihre Anmeldedaten waren nicht korrekt!';

        }
    }
    if (!
    logged_in())
        echo 
    '<form method="post" action="admin_login.php">
              <p>Benutzername: 
                <input name="benutzername" type="text">
            </p>        
              <p>Passwort: 
                <input type="password" name="pass">
            </p>
              <p><input name="login" type="submit" value="Einloggen"></p>
            </form>'
    ;
    else echo 
    '<a href="logout.php">Ausloggen</a><br>';
    ?>
    Datei sessionhelpers.inc.php
    PHP-Code:
    function check_admin($benutzername$pass)
    {
    if ((
    $benutzername=='admin') && ($pass=='admin'))
    {
        
    $pass=md5('".$pass."');
        
    $sql="SELECT id FROM login WHERE benutzername='".$benutzername."' AND pass='".$pass."' LIMIT 1";
        
    $result=mysql_query($sql) or die (mysql_error());

        if (
    mysql_num_rows($result)==1)
        {
            
    $user=mysql_fetch_assoc($result);
            return 
    $user['id'];        
        }
        else return 
    false;    
    }
    else return 
    false;    
    }

    function 
    login ($userid)
    {
        
    $sql="UPDATE login SET session='".session_id()."' WHERE id=".$userid;
        
    mysql_query($sql);

    In meiner zu schützenden Seite admin_login.php habe ich am Anfang das eingefügt:
    PHP-Code:
    <?php
    session_start
    ();
    include 
    'sessionhelpers.inc.php';
    ?>
    So wie es im Moment ist, kann ich im Formular eingeben was ich will, ich komme immer auf die zu schützende Seite, selbst, wenn der User noch gar nicht in der MySQL Tabelle steht bzw. ich die Eingabefelder leer lasse :-((((.

    Was habe ich falsch gemacht???

    Kathrin

  • #2
    Hi, du bindest zwar die Datei sessionhelpers.inc.php ein, aber so wie ich das sehe, sind darin nur Funktionen definiert. Ausgeführt werden sie nicht.
    Also rennt das Script nach den Defionitionen einfach weiter und zeigt die Seite, die du eigentlich schützen willst, ganz normal an.
    [color=red]Geht nicht[/color] ist keine Fehlermeldung

    Kommentar


    • #3
      Danke erstmal für den Tipp. Ja, in der Datei sessionhelpers.inc.php sind nur Funktionen. Ich habe nun folgendes gemacht und eine Funktion aufgerufen :-). In der Datei sessionhelpers.inc.php steht noch folgende Funktion:
      PHP-Code:
      function logged_in ()
      {
          
      $sql="SELECT id FROM login WHERE session='".session_id()."' LIMIT 1";
          
      $result=mysql_query($sql);
          return (
      mysql_num_rows($result)==1);    

      Und meine zu schützende Seite hab ich nun so:
      admin_login.php
      PHP-Code:
      <?php
      session_start
      ();
      include 
      'sessionhelpers.inc.php';
      ?>
      <html>
      <head>
      <title>Unbenanntes Dokument</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body>
      <?php
      if (!logged_in()) 
      {
          echo 
      '<p>keine Rechte </p>';
      }
      else
      {
          echo 
      '<p>nach login admin </p>';
          echo 
      '<a href=\"logout.php\">Ausloggen</a><br>';
      }
      ?>
      </body>
      </html>
      Ich bekomme aber immer angezeigt "keine Rechte" :-((((, egal ob ich beim Eingabeformular was eingebe oder nicht. Irgendwas mache ich also immernoch falsch :-(.

      Kathrin

      Kommentar


      • #4
        Hallo,

        kann mir keiner einen Tipp geben? Ich find den Fehler nicht :-(

        Wäre echt nett!

        Kathrin

        Kommentar


        • #5
          Re: Adminbereich erstellen-Loginscript mrhappieness

          die funktion login() sehe ich bei dir immer noch nirgendwo aufgerufen - du prüfst nur auf !logged_in(), was mir aber recht sinnfrei erscheint, wenn login() vorher nie aufgerufen wurde.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X