Moin Zusammen,
ich steh gerade mal wieder extrem auf dem Schlauch und benötige Schwarmwissen.
Ich versuche einen x Stelligen Code zu generieren, ähnlich einem Passwortgenerator.
Wenn der Code generiert ist, soll dieser in einer SQL Datenbank abgefragt werden, wenn er schon vorhanden ist, soll erneut generiert und geprüft werden.
Ist der Code noch nicht in der Datenbank, soll er hinzugefügt werden.
Mein Problem besteht jetzt nicht an der Abfrage oder dem Einfügen, eher an dem wie ich die Schleife zum Prüfen mache.
Hier mal mein bisheriger Code:
Wo mache ich meinen Denkfehler?
Danke und Grüße,
Stefan
ich steh gerade mal wieder extrem auf dem Schlauch und benötige Schwarmwissen.
Ich versuche einen x Stelligen Code zu generieren, ähnlich einem Passwortgenerator.
Wenn der Code generiert ist, soll dieser in einer SQL Datenbank abgefragt werden, wenn er schon vorhanden ist, soll erneut generiert und geprüft werden.
Ist der Code noch nicht in der Datenbank, soll er hinzugefügt werden.
Mein Problem besteht jetzt nicht an der Abfrage oder dem Einfügen, eher an dem wie ich die Schleife zum Prüfen mache.
Hier mal mein bisheriger Code:
PHP-Quellcode
- <?PHP
- include("../inc/config.php");
- function gen_identifier ( $passwordlength = 8, $numNumberChars = 0, $useCapitalLetter = false )
- {
- $numberChars = '123456789';
- $secureChars = 'abcdefghijklmnpqrstuvwxyz';
- $stack = '';
- $stack = $secureChars;
- if ( $useCapitalLetter == true )
- $stack .= strtoupper ( $secureChars );
- $count = $passwordlength - $numNonAlpha - $numNumberChars;
- $temp = str_shuffle ( $stack );
- $stack = substr ( $temp , 0 , $count );
- if ( $numNumberChars > 0 ) {
- $temp = str_shuffle ( $numberChars );
- $stack .= substr ( $temp , 0 , $numNumberChars );
- }
- $stack = str_shuffle ( $stack );
- return $stack;
- }
- $vorhanden = true;
- while($vorhanden == true) {
- $ident = gen_identifier (1,0);
- $a_code = $pdo->query("SELECT ident FROM qsl_ident WHERE ident = '".$ident."'");
- if($a_code->RowCount() === 0)
- $vorhanden = false;
- $pdo->query("INSERT INTO qsl_ident (user, ident) VALUES ('1', '".$ident."')");
- }
- echo $ident;
- ?>
Wo mache ich meinen Denkfehler?
Danke und Grüße,
Stefan
Nein! Doch! OHH!