Mail functie; geen fouten, ook geen mail..?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
function executeWachtwoordOpvragen()
{
global $config;
$sql = "SELECT * FROM klanten WHERE mail = '" . $_POST['mail'] . "' AND gebruikersnaam = '" . $_POST['naam'] . "'";
$query = mysql_query($sql);
echo '<div class="title">Wachtwoord vergeten</div>';
echo '<div class="block">';
if(!mysql_num_rows($query))
{
echo 'Onjuiste combinatie van Gebruikersnaam / Emailadres';
}
else
{
$userdata = mysql_fetch_assoc($query);
$to = $userdata['mail'];
$subject = 'Uw wachtwoord bij: ' . $config['pagetitle'];
$message = 'Hallo, ' . $userdata['voornaam'] . $userdata['achternaam'] . '!\n\nUw wachtwoord: ' . $userdata['wachtwoord'] . '\n\n\nGroet,\nDe webmaster';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message);
echo 'Je wachtwoord is naar het opgegeven emailadres gestuurd';
}
}
?>
function executeWachtwoordOpvragen()
{
global $config;
$sql = "SELECT * FROM klanten WHERE mail = '" . $_POST['mail'] . "' AND gebruikersnaam = '" . $_POST['naam'] . "'";
$query = mysql_query($sql);
echo '<div class="title">Wachtwoord vergeten</div>';
echo '<div class="block">';
if(!mysql_num_rows($query))
{
echo 'Onjuiste combinatie van Gebruikersnaam / Emailadres';
}
else
{
$userdata = mysql_fetch_assoc($query);
$to = $userdata['mail'];
$subject = 'Uw wachtwoord bij: ' . $config['pagetitle'];
$message = 'Hallo, ' . $userdata['voornaam'] . $userdata['achternaam'] . '!\n\nUw wachtwoord: ' . $userdata['wachtwoord'] . '\n\n\nGroet,\nDe webmaster';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message);
echo 'Je wachtwoord is naar het opgegeven emailadres gestuurd';
}
}
?>
Er komen geen fouten, maar ik krijg ook geen mail ...
Iemand die een verklaring heeft?
Foutafhandeling query's ontbreekt.
Waarom stuur je $headers niet mee?
Zet mail() in een if() om te kijken of ie wel lukt.
Zet dit bovenin je script.
SanThe schreef op 30.10.2009 10:44:
Script is lek => SQL-Injection.
Foutafhandeling query's ontbreekt.
Waarom stuur je $headers niet mee?
Zet mail() in een if() om te kijken of ie wel lukt.
Zet dit bovenin je script.
Foutafhandeling query's ontbreekt.
Waarom stuur je $headers niet mee?
Zet mail() in een if() om te kijken of ie wel lukt.
Zet dit bovenin je script.
Error report staat al op E_ALL in de index, waar de functie geinclude wordt.
Headers had ik er per ongeluk uitgegooid
hier vernieuwde code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$sql = "SELECT * FROM klanten WHERE mail = '" . mysql_escape_string($_POST['mail']) . "' AND gebruikersnaam = '" . mysql_escape_string($_POST['naam']) . "'";
$query = mysql_query($sql) or die(mysql_error);
if(mail($to, $subject, $message, $headers))
{
echo 'Succes';
}
else
{
echo 'Mislukt';
}
?>
$sql = "SELECT * FROM klanten WHERE mail = '" . mysql_escape_string($_POST['mail']) . "' AND gebruikersnaam = '" . mysql_escape_string($_POST['naam']) . "'";
$query = mysql_query($sql) or die(mysql_error);
if(mail($to, $subject, $message, $headers))
{
echo 'Succes';
}
else
{
echo 'Mislukt';
}
?>
Uitvoer:
SuccesJe wachtwoord is naar het opgegeven emailadres gestuurd
Gewijzigd op 01/01/1970 01:00:00 door Jasper Sni
en heb je nu ook de mail gekregen?
koen schreef op 30.10.2009 11:03:
en heb je nu ook de mail gekregen?
Nee, anders had ik het wel gezegd...
SanThe schreef op 30.10.2009 11:07:
Zit de mail niet in de spambox?
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
Nee, dat dacht ik eerst ook, maar staat niks in mijn ongewenst ...
Zo ja, kijk daar eens in.
Jasper schreef op 30.10.2009 10:59:
hier vernieuwde code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$sql = "SELECT * FROM klanten WHERE mail = '" . mysql_escape_string($_POST['mail']) . "' AND gebruikersnaam = '" . mysql_escape_string($_POST['naam']) . "'";
$query = mysql_query($sql) or die(mysql_error);
if(mail($to, $subject, $message, $headers))
{
echo 'Succes';
}
else
{
echo 'Mislukt';
}
?>
$sql = "SELECT * FROM klanten WHERE mail = '" . mysql_escape_string($_POST['mail']) . "' AND gebruikersnaam = '" . mysql_escape_string($_POST['naam']) . "'";
$query = mysql_query($sql) or die(mysql_error);
if(mail($to, $subject, $message, $headers))
{
echo 'Succes';
}
else
{
echo 'Mislukt';
}
?>
mail ($to,$subject,$message[,$headers[,$additional_parameters ]] )
(uit manual van php.net)
http://nl3.php.net/manual/en/function.mail.php
Gewijzigd op 01/01/1970 01:00:00 door koen
Beter is mysql_real_escape_string().
EDIT: heb geprobeerd die manual te gebruiken om t aan te passen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$sql = "SELECT * FROM klanten WHERE mail = '" . mysql_escape_string($_POST['mail']) . "' AND gebruikersnaam = '" . mysql_escape_string($_POST['naam']) . "'";
$query = mysql_query($sql) or die(mysql_error);
if(mail($to,$subject,$message[,$headers]))
{
echo 'Succes';
}
else
{
echo 'Mislukt';
}
?>
$sql = "SELECT * FROM klanten WHERE mail = '" . mysql_escape_string($_POST['mail']) . "' AND gebruikersnaam = '" . mysql_escape_string($_POST['naam']) . "'";
$query = mysql_query($sql) or die(mysql_error);
if(mail($to,$subject,$message[,$headers]))
{
echo 'Succes';
}
else
{
echo 'Mislukt';
}
?>
(uit manual van php.net)
http://nl3.php.net/manual/en/function.mail.php
Gewijzigd op 01/01/1970 01:00:00 door koen
Die [ en ] horen daar niet. Dat is in de handleiding een manier om aan te geven dat iets optioneel is. Dus mag gebruikt worden, maar moet niet.
staat op zich die $header toch goed?
of vergis ik me daarin?
ik ben nog niet goed met php, daarom probeer ik dit soort scripts, en als het beter kan lees ik het mee op dit forum.
sorry dat ik iets probeer...
Met headers if(mail($to, $subject, $message, $headers))
Is uw server support e-mail? Ik kan u met een ander e-mail PHP script als je wilt.
Alan Du schreef op 02.11.2009 15:18:
Is uw server support e-mail? Ik kan u met een ander e-mail PHP script als je wilt.
Welkom op het forum, nederlands aub en geen vertaald nederlands dmv een vertaal machine.. Bedankt!
geen vertaalmachine dus