@AAR
Dus ik moet een functie maken waarin ik aangeef dat sqlsafe() gelijk is aan
mysql_real_escape_string() ?
@ Mr.Ark
Ik ben blij met wat ik aangeboden krijg. Ik vind het zelf nog een beetje te moeilijk.
Ik heb ook nog een probleem met het script
Warning: Cannot modify header information - headers already sent by (output started at /home/jcsl/public_html/klanten/includes/wachtwoord_vergeten.php:85) in /home/jcsl/public_html/klanten/inlog/func.toegang.php on line 72
Warning: Cannot modify header information - headers already sent by (output started at /home/jcsl/public_html/klanten/includes/wachtwoord_vergeten.php:85) in /home/jcsl/public_html/klanten/inlog/func.toegang.php on line 73
Warning: Cannot modify header information - headers already sent by (output started at /home/jcsl/public_html/klanten/includes/wachtwoord_vergeten.php:85) in /home/jcsl/public_html/klanten/inlog/func.toegang.php on line 74
Warning: Cannot modify header information - headers already sent by (output started at /home/jcsl/public_html/klanten/includes/wachtwoord_vergeten.php:85) in /home/jcsl/public_html/klanten/inlog/func.toegang.php on line 75
Warning: Cannot modify header information - headers already sent by (output started at /home/jcsl/public_html/klanten/includes/wachtwoord_vergeten.php:85) in /home/jcsl/public_html/klanten/inlog/func.toegang.php on line 76
72 t/m 76 (func.toegang
<?php
setcookie ("SKL_id", 0, $time, "/");
setcookie ("SKL_klnr", 0, $time, "/");
setcookie ("SKL_pass", 0, $time, "/");
setcookie ("SKL_key", 0, $time, "/");
setcookie ("SKL_time", 0, $time, "/");
?>
Dit is het script zover:
<?php
$ledentabel = "kl_overzicht";
$eigen_site = "www.jcsl.nl/klanten";
$eigen_naam = "J.S. Coolen";
$eigen_mail = "
[email protected]";
$eigen_url = "http://
www.jcsl.nl/klanten/index.php";
// Als het gaat om bevestigen van het mailtje
if($_GET['actie'] == "bevestigen")
{
$activatiecode = sqlsafe($_GET['code']);
$select_code = "SELECT * FROM `".$ledentabel."` WHERE `kl_overzicht_vergeetcode` = '".$activatiecode."'";
$query_code = mysql_query($select_code) or die (mysql_error());
$show_code = mysql_fetch_assoc($query_code);
if(mysql_num_rows($query_code) == "0")
{
$main .= "<div style=\"color:red;\">U heeft een verkeerde activatiecode ingevuld, of uw heeft reeds een bevestiging gedaan!</div>";
}
else
{
// Email selecteren
$res = mysql_query("SELECT * FROM `".$ledentabel."` WHERE `kl_overzicht_vergeetcode` = '".$activatiecode."'");
$show = mysql_fetch_assoc($res);
// Password maken
$pass = randomcode(10);
// Melding geven
$main .= "Er is een mail met een nieuw wachtwoord gestuurd.";
// Database updaten
mysql_query("UPDATE `".$ledentabel."` SET `kl_overzicht_vergeetcode` = '', kl_overzicht_password = '".md5($pass)."' WHERE `kl_overzicht_vergeetcode` = '".$activatiecode."'");
// Mail versturen
$aan = $show['emailadres'];
$onderwerp = "Nieuw wachtwoord";
$bericht = "Beste,<br /><br />Via wachtwoord vergeten op ".$eigen_site." heeft u een nieuw wachtwoord aangevraagd.<br /><br /><strong>U kunt nu inloggen met het wachtwoord:</strong> ".$pass."<br /><br />Met vriendelijke groet,<br /><br />".$eigen_naam;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$eigen_naam." <".$eigen_mail.">\r\n";
mail($aan, $onderwerp, $bericht, $headers);
}
}
else
{
if(($_SERVER['REQUEST_METHOD'] == "POST") && ($_POST['vergeten']))
{
$que = mysql_query("SELECT * FROM `".$ledentabel."` WHERE kl_overzicht_email = '".sqlsafe($_POST['emailadres'])."'");
if(mysql_num_rows($que) == 0)
{
$main .= "<p>Het ingevuld emailadres is niet geldig of staat niet in de database!</p>";
}
else
{
// Code
$activatiecode = randomcode(10);
// Melding
$main .= "<p>Er is een bevestigingsmail naar je e-mailadres gestuurd.</p>";
// Database updaten dus code inserten
mysql_query("UPDATE `".$ledentabel."` SET `kl_overzicht_vergeetcode` = '".$activatiecode."' WHERE `emailadres` = '".sqlsafe($_POST['emailadres'])."'");
// Mail versturen
$aan = sqlsafe($_POST['emailadres']);
$onderwerp = "Wachtwoord vergeten";
$bericht = "Beste,<br /><br />Via de website ".$eigen_site." is aangegeven dat u uw wachtwoord vergeten bent.<br /><br />Wanneer dit het geval is, dient u op onderstaande link te klikken. Wanneer dit niet zo is, kunt u deze mail als niet verzonden beschouwen.<br /><br />Link: <a href=\"".$eigen_url."klantenpagnia=ww_vergeten&actie=bevestigen&code=".$activatiecode."\">".$eigen_url."klantenpagnia=ww_vergeten&actie=bevestigen&code=".$activatiecode."</a><br /><br />Met vriendelijke groet,<br /><br />".$eigen_naam;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$eigen_naam." <".$eigen_mail.">\r\n";
mail($aan, $onderwerp, $bericht, $headers);
}
}
else
{
$main .= "<p>Vul hieronder uw emailadres in. Er zal een link naar je emailadres gestuurd worden. Wanneer u hier op klikt wordt er een nieuw wachtwoord aangemaakt.</p><br />";
$main .= "<p><form method=\"post\" action=\"\">E-mailadres: <input type=\"text\" name=\"emailadres\" /><br /><br /><input type=\"submit\" name=\"vergeten\" value=\"Verstuur\" /></form></p>";
}
}
?>