Eli pitäisi saada alla olevaan koodipätkään semmonen, joka vaihtaisi salasanan tunnuksesta. Uusi salasana löytyisi $pass muuttujasta. Lisään tuohon sitten itse myöhemmin mail-funktion, millä lähetetään uusi salasana käyttäjälle.
Tunnusten tiedot on .txt filessä muodossa:
tunnus|valimerkki|md5salasana|valimerkki|email|valimerkki|ip-osoite|valimerkki|hosti|valimerkki|syntyma-aika muodossa pp.kk.vvvv|valimerkki|[/l]
<?php if (isset($_POST['email'])) { $email = $_POST['email']; $syntymaaika = "".$_POST['paiva'].".".$_POST['kuukausi'].".".$_POST['vuosi'].""; // Luodaan uusi salasana $pass1 = rand(0,9); $pass2 = rand(0,9); $pass3 = rand(0,9); $pass4 = rand(0,9); $pass5 = rand(0,9); $pass = md5($pass1."".$pass2."".$pass3."".$pass4."".$pass5); $emailpass = $pass1."".$pass2."".$pass3."".$pass4."".$pass5; $tunnukset = file("data/tunnukset.txt"); for ($i = 0; $i < count($tunnukset); $i++) { $tunnus = explode("|valimerkki|", $tunnukset[$i]); // Tarkistetaan onko annettu email ja syntymä-aika oikein if ($email == $tunnus[2] and $syntymaaika = $tunnus[5]) { $juttu = "on"; // --------- Tähän pitäisi laittaa se salasananvaihtoskripta --------- } } if ($juttu != "on") $virhe = "Annoit virheelliset tiedot!\n"; } ?>
Kävisköhän näin:
<?php if ($email == $tunnus[2] and $syntymaaika = $tunnus[5]) { $juttu = "on"; $vali = "|valimerkki|"; // välimerkki $tunnukset[$i] = $tunnus[0].$valimerkki.$pass.$valimerkki.$tunnus[2].$valimerkki.$tunnus[3].$valimerkki.$tunnus[4].$valimerkki.$tunnus[5].$valimerkki; break(); } // if // ja sit $tunnukset - taulu kirjoitetaan tiedostoon ?>
Ja sit vielä sellanen laiskan miehen huomautus, että nuo muuttujat voi yhdistää ihan pisteellä, eli sen sijaan että kirjottaisit
<?php $pass = md5($pass1."".$pass2."".$pass3."".$pass4."".$pass5); ?>
voit kirjoittaa
<?php $pass = md5($pass1.$pass2.$pass3.$pass4.$pass5); ?>
Kiitos erittäin paljon Irksome!
Aihe on jo aika vanha, joten et voi enää vastata siihen.