php passwort generator

xlanhackerx

Mitglied
Hallo liebe Community.
Ich habe mal ein kleines Script gefunden welches ein zufallspasswort generiert:
PHP:
<?php
srand((double)microtime()*1000000);

$Buchstaben = array("a", "b", "c", "d", "e", "f", "g", "h", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
$Zahlen = array("2", "3", "4", "5", "6", "7", "8", "9");
$Sonderzeichen = array(".", "!", "%", "&", "=", "?");

$Laenge = 8;


for($i = 0, $Passwort = ""; strlen($Passwort) < $Laenge; $i++)
{
        if(rand(0, 2) == 0 && isset($Buchstaben))
        {
                $Passwort .= $Buchstaben[rand(0, count($Buchstaben))];
        }
        elseif(rand(0, 2) == 1 && isset($Zahlen))
        {
                $Passwort .= $Zahlen[rand(0, count($Zahlen))];
        }
        elseif(rand(0, 2) == 2 && isset($Sonderzeichen))
        {
                $Passwort .= $Sonderzeichen[rand(0, count($Sonderzeichen))];
        }
}

echo "<center><textarea rows=1 cols=7 wrap='off' onclick=this.focus();this.select() readonly=readonly bgcolor=CCCCCC>$Passwort</textarea></center>";


?>
Nun möchte ich allerdings dass man mittels einem Dropdownmenü welches in der Datei miteingebaut ist auswählen kann wie lang das passwort sein soll.
Wie müsste ich dieses Dropdownmenü aufbauen und wie müsste der Code sein

Hoffe auf eure Hilfe !!

Mfg. Oliver
 
Was ist die Frage bzw. wo liegt das Problem ?

-> Abfragen ob der Senden-Button gedrückt wurde
-->Ja - dann dein jetziges Script einbetten und $Laenge = $_POST['laenge'];
-->Nein - dann HTML Formular bauen mit Dropdown in den du z.B. von 6-20 auswählen kannst.

PHP:
if (isset($_POST['send']))
{
   // dein jetziger Code aber $Lange = $_POST['laenge'];
}
else 
{
  echo '<form method="POST" action="pwgenerate.php">
          <select name="laenge">';
          for ($i=6; $i<21; $i++)
            echo '<option>'.$i.'</option>';
  echo '</select><input type="submit" name="send" value="Generate"></form>'
}

mfg ;-)
 
Hmm klappt nicht so richtig !!
Ich bin dir aber auf jeden fall sehr dankbar dass du mir mal einen tipp gegeben hast !!
Mein Code jetzt :
PHP:
<?php
if (isset($_POST['send']))
{ 
srand((double)microtime()*1000000);

$Buchstaben = array("a", "b", "c", "d", "e", "f", "g", "h", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
$Zahlen = array("2", "3", "4", "5", "6", "7", "8", "9");
$Sonderzeichen = array(".", "!", "%", "&", "=", "?");

$Laenge = $_POST['laenge'];


for($i = 0, $Passwort = ""; strlen($Passwort) < $Laenge; $i++)
{
        if(rand(0, 2) == 0 && isset($Buchstaben))
        {
                $Passwort .= $Buchstaben[rand(0, count($Buchstaben))];
        }
        elseif(rand(0, 2) == 1 && isset($Zahlen))
        {
                $Passwort .= $Zahlen[rand(0, count($Zahlen))];
        }
        elseif(rand(0, 2) == 2 && isset($Sonderzeichen))
        {
                $Passwort .= $Sonderzeichen[rand(0, count($Sonderzeichen))];
        }
}

echo "<center><textarea rows=1 cols=7 wrap='off' onclick=this.focus();this.select() readonly=readonly bgcolor=CCCCCC>$Passwort</textarea></center>";
}
else 
{
  echo '<form method="POST" action="pwgenerator.php">
          <select name="laenge">';
          for ($i=6; $i<21; $i++)
            echo '<option>'.$i.'</option>';
  echo '</select><input type="submit" name="send" value="Generate"></form>'
}  
?>

Was ist denn daran falsch

Mfg. Oliver
 
1. Solltest du die Fehlermeldung angeben bzw. erläutern was nicht geht
2. Das abschließende Semikolon eintragen hinter der letzten Anweisung im else-Teil

mfg:)
 
Jop oder so:

PHP:
// Passwortgenerator
function passwortgenerator($length)
{
    $zeichen = "qwertzupasdfghkyxcvbnm";
    $zeichen .= "123456789";
    $zeichen .= "WERTZUPLKJHGFDSAYXCVBNM";
    for($i = 0; $i < $length; $i++)
    {
      $password .= substr($zeichen,rand(0,53), 1);
    }
    return $password;
}
 
Zuletzt bearbeitet:
Zurück