Login funktioniert nicht einwandfrei

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

  • Login funktioniert nicht einwandfrei

    Hallo Leute!

    Habe ein Login programmiert, das ziemlich gut funktioniert. Jetzt habe ich den Login noch mit Radiobuttons erweitert, aber diese funktionieren noch nicht so wie ich möchte.
    Ich hoffe ihr habt einen Lösungsvorschlag.
    Ziel wäre: Wenn Geschäftsführer ausgewählt wird, wird die Seite "home_g.php" geladen und das selbe auch mit Mitarbeiter mit "home_m.php".

    Danke schon mal im Voraus.

    Code:
     <?php
    
    
    include "verbindung.php";
    if(!$_POST['submit'])
    {
    ?>
                    <div align="left"><span class="editformheadline">
                         <form  method="post" action="login.php">
                <div class="editwrapper">
                  
                    <span class="editformheadline">Benutzername</span>
                    <input id="Account" type="text" name="Account" maxlength="16">
                    <br />
                  
                  <div class="editformelement Stil1">
                    <p><span class="editformheadline">Passwort</span><br />
                         <input type="password" name="Passwort" maxlength="16">
                    </p>
                    <p>
                      <input type="radio" name="rbmit" value="2" />
                      Mitarbeiter                  </p>
                    <p>
                      <input type="radio" name="rbgesch" value="1" />
                      Geschäftsführer </p>
                    <p>
                      <input name="submit" type="submit" class="contactformform" value="Login">
                    </p>
                    <div>
                      <p><a href="../Geschäftsführer/passwortvergessen.html" >Passwort vergessen?</a>  </p>
                  </div>
                  </div>
                </div>
          </form>
    <?php
    }
    else
    {
      $user = protect($_POST['Account']);
      $pass = protect($_POST['Passwort']);
      $option1 = ( $_POST[ 'rdbgesch' ] == 1 );
      $option2 = ( $_POST[ 'rdbmit' ] == 2 );
        
    if($user && $pass && $option1)
    {
    $pass = ($pass); //compare the encrypted Passwort
    $sql="SELECT idGPNr,Account FROM `geschaeftsfuehrer` WHERE `Account`='$user' AND `Passwort`='$pass'";
    $query=mysql_query($sql) or die(mysql_error());
     
        if(mysql_num_rows($query) > 0)
        {
          $row = mysql_fetch_assoc($query);
          $_SESSION['idGPNr'] = $row['idGPNr'];
          $_SESSION['Account'] = $row['Account'];
        
          echo "<script type=\"text/javascript\">window.location=\"home_g.php\"</script>";    
        }
      
    }
    
    else if($user && $pass && $option2)
    {
    $pass = ($pass); //compare the encrypted Passwort
    $sql="SELECT idMPNr,Account FROM `mitarbeiter` WHERE `Account`='$user' AND `Passwort`='$pass'";
    $query=mysql_query($sql) or die(mysql_error());
     
        if(mysql_num_rows($query) > 0)
        {
          $row = mysql_fetch_assoc($query);
          $_SESSION['idMPNr'] = $row['idMPNr'];
          $_SESSION['Account'] = $row['Account'];
        
          echo "<script type=\"text/javascript\">window.location=\"home_m.php\"</script>";    
        }
    }
    }
        
    else
       {
        echo "<script type=\"text/javascript\">
        alert(\"Benutzername oder/und Passwort ist falsch!\");
        window.location=\"login.php\"</script>";
       }    
    
    
    
    
        
    ?>
    Zuletzt geändert von farisa; 13.01.2010, 19:11.

  • #2
    Hallo,

    das klingt nicht so sehr sinnvoll. Die Rolle des Users sollte sich aus dem Benutzernamen ergeben.

    Ansonsten: Radiobuttons, die sich gegenseitig abschalten sollen, also zu einer Radio-Gruppe gehören, müssen auch dasselbe name-Attribut tragen.

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Danke für die Antwort. Aber wie soll ich das umsetzen mit dem Benutzernamen? ich habe ja zwei tabellen, einmal geschäftsführer und einmal mitarbeiter.

      Kommentar


      • #4
        Zitat von farisa Beitrag anzeigen
        ich habe ja zwei tabellen, einmal geschäftsführer und einmal mitarbeiter.
        Und genau da liegt der Fehler. Gleichartige Daten gehören in die selbe Tabelle. Google mal nach RBAC (Role-based Access Control), wie man sowas üblicherweise macht.

        Versteh mich nicht falsch: mit deiner Variante würde es auch gehen, aber ich finde die nicht sinnvoll und nicht weit genug durchdacht.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar

        Lädt...
        X