Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Special Passwort generator
dr-chiller
08.01.2005, 16:02
Servus,
ich habe folgendes Problem:
Ich will es machen, das wenn ich Öeute eintragen will mit einem Zufallspasswort in meine Datenbank, dass ich den Vornamen und Nachnamen eintrage und auf senden drücke. Ein script generiert ein 8 stelliges passwort und speichert das per md5 in der datenbank mit dem namen. Gleichzeitig wird eine txt datei erstellt mit namen und pw. z.b so
Hans Peter / 12345678
Nur leider habe ich da garkeinen Peil von :( . Hat vielleicht jemand sowas schon ?
Danke im vorraus.
Willst du da jetz ein fertiges Script, oder nur ne Idee, wie du das in PHP umsetzen könntest.
Für den letzteren Fall:
$PW = rand(10000000, 99999999); #Erstellt die zufallszahl
$Include = "$VName $NName / $PW"; # Erstellt die komplette Zeile, die du dann nur noch in die Datei schreiben musst
Vorraussetzung ist, dass die Variablen VName und NName an das Script übergeben wurde
dr-chiller
08.01.2005, 17:10
das ist doch was ganz anderes als ich will ? Das soll doch in eine txt datei geschrieben werden. So kann ich das auch
ja wiso kannst du keine Variabeln in eine TXT Datei schreiben, oder wo ist dein Problem
dr-chiller
08.01.2005, 17:35
ja das ich nicht weiss wie es geht
$PW = rand(10000000, 99999999); #Erstellt die zufallszahl
$Include = "$VName $NName / $PW"; # Erstellt die komplette Zeile, die du dann nur noch in die Datei schreiben musst
$Dat = fopen(Datei.txt, a+); # Öffnet Die Date und erstellt sie gegebenfalls
fputs ($Dat, $Include); #Schreibt die Variable Include in die Datei
dr-chiller
08.01.2005, 17:58
und wie mache ich es das das Passwort und der Nachname noch gleichzeitig in der mysql Datenbank gespeichert.
$PW = rand(10000000, 99999999); #Erstellt die zufallszahl
$Include = "$VName $NName / $PW"; # Erstellt die komplette Zeile, die du dann nur noch in die Datei schreiben musst
$Dat = fopen(Datei.txt, a+); # Öffnet Die Date und erstellt sie gegebenfalls
fputs ($Dat, $Include); #Schreibt die Variable Include in die Datei
# MySQL Verbindung herstellen
$Input = "INSER INTO tabellenname (VName ,NName ,PW) VALUES ('$VName' ,'$NName' ,'$PW')";
$input = mysql_query($Input);
dr-chiller
08.01.2005, 19:17
ja das ist schon cool, ich werde es mal testen
Crunchtime
08.01.2005, 19:21
nur mal als tipp:
dein erster post lässt nicht ganz erkennen, was du eigentlich von uns wolltest...da wir nicht richen können, was du willst, wäre es ganz gut, das nächste mal das ganze etwas besser auszuführen!
hier noch ein tipp:
http://tut.php-q.net/
da kannst du ein sehr großes und komplex tutorial zu php und mysql finden...ist benutzerfreundlich geschrieben und sehr gut zum lernen geeignet
ach noch was...du wolltest ja mit md das 8 stellige pw in die db schreiben
//pw gernerieren und auf 8 stellen kürzen
$pw=md5(time());
$pw=substr($pw,8);
//mysql anweisungen
$sgl="INSERT INTO tabellenname (vname, name, pw) VALUES ('$vname','$name','$pw')";
$result=mysql_query($sql) or die (mysql_error());
Faustpfand
08.01.2005, 19:28
Aua, ein Passwort, das nur aus Zahlen besteht. Wenn ich das schon sehe, bekomme ich üble Zustände :-)
(nicht @#10 sondern #2 ff.)
<?php
include ("Password.php" );
$Passwort = Text_Password::create(8);
echo "Ihr neues Passwort lautet: ".$Passwort."<br />";
$Md5_Passwort = md5($Passwort);
// Anschließend dann noch in die Datenbank eintragen, das sollte ja bereits
// durch V1tzl1 erklärt sein
//
?>
Die Klasse zum Generieren von Passwörtern stammt von pear.php.net (http://pear.php.net/package/text_password). Ist in jedem Fall sicherer als ein 8stelliges, das nur aus Zahlen besteht. In dem Beispiel
ist es sogar "pronounciable", also aussprechbar.
(Achso, Download-Link: http://benjamin.wismar-wacken.com/.../Password-php.rar (http://benjamin.wismar-wacken.com/Public/Computerbase.de/Password-php.rar))
....
Hans Peter / 12345678
...
Da er im Beispiel nur Zahlen geposted hatte, war ich davon ausgegangen, dass er nur Zahlen wollte.
Sonst hätte ich ihm auch nch ne generate funktion geschrieben.
Und @Dr-Chiller
Deine Schilderung des Problems war wirklich nicht sehr vorbildlich. Versuch das nächste mal bitte dein Problem genauer zu schildern