ilch Forum » Allgemein » HTML, PHP, SQL,... » existenz prüfen ?!

Geschlossen
  1. #1
    User Pic
    sinan Mitglied
    Registriert seit
    28.10.2007
    Beiträge
    85
    Beitragswertungen
    0 Beitragspunkte
    moin,
    folgendes kleines problemchen:
    mit dieser funktion erstelle ich ein beliebiges 3 stelliges passwort aus den buchstaben des alphabets und den zahlen von 0-9.
    dieses passwort ($passwort) wird in einer anderen funktion gespeichert.
    bevor dieses passwort jedoch erstellt wird, will ich aber das erst einmal in der datenbank gecheckt wird ob das passwort schon existiert. falls es existiert soll ein neues passwort erstellt werden und so weiter. ist es möglich diese funktion so aufzumotzen, dass das funktioniert??

    <?php
        function get3zeichen() {
        $neuezeichen="";
        $laenge=3;
    $string="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    
        mt_srand((double)microtime()*1000000000000);
        for ($i=1; $i <= $laenge; $i++) {
            $neuezeichen .= substr($string, mt_rand(0,strlen($string)-1), 1);
        }
        return $neuezeichen;
    }
    $passwort = get3zeichen();
     
     ?>

    PS: falls ihr eine bessere funktion zur erstellung solch eines passworts habt, die iwie einfacher und kürzer ist schriebt meine ruhig um.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    annemarie gelöschter User
    1. man sollte passwort hasges speichern, das was du machst ist passwörter im klartext speichern. das ist schlecht.

    2. ilch stellt dir die funktion "db_query()" zur verfügung.

    3. "SELECT `passwortfeld` FROM `passworttabelle` WHERE `passwortfeld` LIKE '".$dasPasswort."'";

    4. benutz mal if :>
    if(db_query("SELECT `passwortfeld` FROM `passworttabelle` WHERE `passwortfeld` LIKE '".$dasPasswort."'")) { // passwort existiert schon }

    (weiß grad nicht ob db_query bei 0 results false zurückgibt, sollte es das dann wird das auch funzen.)

    das ganze sollte am besten eine eigene funktion sein die true oder false zurückgibt und vor dem "return $neuezeichen; " asufgerufen wird
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    sinan Mitglied
    Registriert seit
    28.10.2007
    Beiträge
    85
    Beitragswertungen
    0 Beitragspunkte
    das hab ich auch schon ausprobiert aber ich bekomme das nicht in die funktion eingebaut. kannst du mir da helfen.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    annemarie gelöschter User
    1. tut.php-q.net/recursion.html
    2. du weist den wert einem bestimmten datensatz zu, dieser sollte eine ID haben.

    also zeige ein passwortfeld auch nur da an wo ein bestimmter datensatz abgefragt wird, benutze die datensatz ID in der WHERE klausel deines SQL Statements.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten