Hoi. Ik ben nog steeds bezig met een forumpje en daarbij zit meestal ook een Lost Password functie bij. Nu, Er zit een fout in. Zoals je ziet doe ik alles zoals ik doe, en ik weet waar het fout loopt. Dat is net voordat ik het email adress van de gebruiker wil opvragen (ergens lijn 21)

Dit is de code
<?
 // Checken op errors
 ini_set ('display_errors', 1);
 error_reporting (E_ALL);

 // Include File
 include('function.php');
 include('dbconfig.php');

 if(isset($_POST['submit'])) {
 
 // Make Variable's
 $username = $_POST['username'];
 
 // Get User Info
 $sqlUser = "SELECT * FROM ForumGebruikers WHERE Username='".$username."'";
 $resUser = mysql_query($sqlUser) or trigger_error(mysql_error());
 
 if($resUser == "") {
  echo "Deze username bestaat niet";
 } else {
 // Make Fetch Array
 $getUser = mysql_fetch_array($resUser);
 
  // Make New Variables
 $email = getUser['email'];
 
  // Make Password
 $s1 = random_pass(6);
 
 // Now Update Info
 $gegevens = "Password='".md5($s1)."'";
 $sqlUpdate = "UPDATE ForumGebruikers SET $gegevens WHERE Username='".$username."'";
 $resUpdate = mysql_query($sqlUpdate) or trigger_error(mysql_error());
 
 // Echo File's
 echo "Ziezo, Nieuwe wachtwoord is aangemaakt.<br>";
 echo "Het nieuwe wachtwoord is: ".$s1."<br>";
 echo "Passwoord in MD5 is: ".md5($s1)."<br>";
 echo "De gebruikers zijn email adress is: ".$email."<br>";
 echo "Veel plezier verder.";
  
 } else {
?>
<form id="wijzig" name="formulier" method="post">
<table width="100%">
<tr>
<td>
Iemand zijn passwoord kwijt? laat het hier een nieuwtje maken.<br><br>
<b>Username: <input type="text" name="username" class="text"><br>
<input type="submit" name="submit" value="Maak"> <input type="reset" value="reset">
</td>
</tr>
</table>
</form>
<?
 }
}
?>
Regel 36 begin je met " en eindig je met '. Gebruik voor beide "" of voor beide ''.
Daar ligt het niet aan (maar thx om dat op te merken). Heb ff nu ook script geupdate, maar fout blijft :(
Probeer het is zo:
<?php

$sqlUser = mysql_query("SELECT * FROM ForumGebruikers WHERE Username='".$username."'") or die ('Kan niet '. mysql_error());
$resUser = mysql_fetch_assoc($sqlUser);

if(!$resUser)
{
echo 'Klopt niet';
}
else
{
$emial = $resUser['email'];

//// Rest Code

}

?>

dus feitelijk zonder die array en met een iets andere query.

Groetjes en succes...
Misschien dat je de foutmelding ook even kan plaatsen ?

Overigens kan je die controle waar Marco op wijst beter met [php]mysql_num_rows[/php]() uitvoeren, dan weet je of je resultaat hebt terug gekregen.

<?php
$rRes = mysql_query('...') or trigger_error(mysql_error());
if(mysql_num_rows($rRes) > 0){
    echo 'user bestaat';
}else{
    echo 'user bestaat niet';
}
?>
Loopt ook nog altijd fout, ligt dus duidelijk daar niet die fout :s
F. Tack schreef op 17.06.2007 19:34
Loopt ook nog altijd fout, ligt dus duidelijk daar niet die fout :s


Daarom vraag ik ook of je de foutmelding kan plaatsen, het is namelijk lastig debuggen zonder foutmelding.
als je die zou kunnen plaatsen graag...
waarom geef je uberhaupt het wachtwoord gecodeerd terug? Dat is voor hackers alleen maar makkelijker... bovendien heeft de gebruiker er niets aan..
als het form gesubmit is ga je gegevens ophalen, en doe je er niks mee zo te zien. De logica ontbreekt in de eerste if!

Reageren