Ik ben een member systeem aan het maken voor een sportclubje. Het aanmelden en bijvoorbeeld wachtwoord wijzigen gaat al prima. Nu probeer ik de functie van 'Wachtwoord vergeten' toe te voegen en heb hiervoor een functie en script gevonden die dit kan en hier en daar aangepast.
Nu doet het script zijn werk met de functie: Het controleert of de gebruiker bestaat, genereert een nieuw wachtwoord met function, verstuurt een e-mail naar de gebruiker met het nieuwe wachtwoord.
Echter wordt het wachtwoord niet ge-update in de tabel: gebruiker
ik heb het idee dat ik iets over het hoofd zie en dat de fout in de mysql_query zit of het aanroepen ervan.
ps,
loginName staat gelijk aan het e-mail adres van de gebruiker.
dit is het script:
<?php
function ranpass($len = 8){
$pass = NULL;
for($i=0; $i<$len; $i++) {
$char = chr(rand(48,122));
while (!ereg("[a-zA-Z0-9]", $char)){
if($char == $lchar) continue;
$char = chr(rand(48,90));
}
$pass .= $char;
$lchar = $char;
}
return $pass;
}
$newpass = ranpass(); // Wachtwoord aanmaken
$insertpass = sha1($newpass);
?>
<?php
$loginName = $_POST['loginName'];
include("connect.inc");
$cxn = mysqli_connect($host,$user,$passwd,$dbname)
or die("Couldn't connect to server");
$sql = "SELECT loginName FROM gebruiker
WHERE loginName='$loginName'";
$result = mysqli_query($cxn,$sql)
or die("Query died: loginName.");
$num = mysqli_num_rows($result);
if($num > 0)
{
mysql_query("UPDATE gebruiker SET password = '$insertpass' WHERE loginName='$loginName'");
echo "<p>We hebben een nieuw wachtwoord voor je ingesteld. Deze is per email naar je verzonden.</p>";
//controle echo om te zien of de variabelen loginName en newpass de juiste info mee krijgen
echo "<p>$loginName </p>";
echo "<p>$newpass </p>";
/* send email to new Customer */
$emess = "Nieuw wachtoord. ";
$emess .= "Gebruikersnaam en wachtwoord: ";
$emess .= "\n\n\t$loginName\n\t";
$emess .= "$newpass\n\n";
$subj = "Uw nieuwe wachtwoord";
$mailsend=mail("$loginName","$subj","$emess");
}
else
{
echo "$loginName komt niet voor in ons systeem";
include("123.php");
}
?>
wie heeft er een idee hoe ik dit kan oplossen?