Mail functie; geen fouten, ook geen mail..?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jasper Sni

Jasper Sni

30/10/2009 10:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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';

    }
}

?>


Er komen geen fouten, maar ik krijg ook geen mail ...
Iemand die een verklaring heeft?
 
PHP hulp

PHP hulp

04/12/2024 08:59:56
 
Koen

koen

30/10/2009 10:23:00
Quote Anchor link
waar haalt je $sql
de mail en user vandaan?

edit:
nvm, ben newbie.
Gewijzigd op 01/01/1970 01:00:00 door koen
 
- SanThe -

- SanThe -

30/10/2009 10:44:00
Quote Anchor link
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
 
Jasper Sni

Jasper Sni

30/10/2009 10:59:00
Quote Anchor link
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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';
        }

?>


Uitvoer:
SuccesJe wachtwoord is naar het opgegeven emailadres gestuurd
Gewijzigd op 01/01/1970 01:00:00 door Jasper Sni
 
Koen

koen

30/10/2009 11:03:00
Quote Anchor link
en heb je nu ook de mail gekregen?
 
Jasper Sni

Jasper Sni

30/10/2009 11:06:00
Quote Anchor link
koen schreef op 30.10.2009 11:03:
en heb je nu ook de mail gekregen?


Nee, anders had ik het wel gezegd...
 
- SanThe -

- SanThe -

30/10/2009 11:07:00
 
Jasper Sni

Jasper Sni

30/10/2009 11:10:00
Quote Anchor link
SanThe schreef op 30.10.2009 11:07:


Nee, dat dacht ik eerst ook, maar staat niks in mijn ongewenst ...
 
- SanThe -

- SanThe -

30/10/2009 11:13:00
Quote Anchor link
Kan je bij de logfiles van de mailserver?
Zo ja, kijk daar eens in.
 
Koen

koen

30/10/2009 11:35:00
Quote Anchor link
Jasper schreef op 30.10.2009 10:59:
hier vernieuwde code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
        }

?>

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
 
- SanThe -

- SanThe -

30/10/2009 11:41:00
Quote Anchor link
mysql_escape_string()?
Beter is mysql_real_escape_string().
 
Koen

koen

30/10/2009 11:42:00
Quote Anchor link
die code in mijn vorige bericht was gekopierd, zal quote erbij editten (A)

EDIT: heb geprobeerd die manual te gebruiken om t aan te passen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
            }

    ?>

(uit manual van php.net)
http://nl3.php.net/manual/en/function.mail.php
Gewijzigd op 01/01/1970 01:00:00 door koen
 
- SanThe -

- SanThe -

30/10/2009 12:05:00
Quote Anchor link
@Koen: if(mail($to,$subject,$message[,$headers]))
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.
 
Koen

koen

30/10/2009 12:08:00
Quote Anchor link
als hij die header wil meesturen, en er bij dat optionele een header word gezet bij de manual.
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...
 
- SanThe -

- SanThe -

30/10/2009 12:12:00
Quote Anchor link
Zonder if(mail($to, $subject, $message))
Met headers if(mail($to, $subject, $message, $headers))
 
Kitty N

kitty N

30/10/2009 13:46:00
Quote Anchor link
Probeer eventueel ook dit even om te kijken of to wel gevuld is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
echo 'To: ' . $to . '<br>';

//of

echo 'Userdata[mail]' . $userdata['mail'] . '<br>';
?>
 
Alan Du

Alan Du

02/11/2009 15:18:00
Quote Anchor link
Is uw server support e-mail? Ik kan u met een ander e-mail PHP script als je wilt.
 
Jaron T

Jaron T

02/11/2009 15:41:00
Quote Anchor link
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!
 
Koen

koen

02/11/2009 15:42:00
Quote Anchor link
jaron, heb je profiel gekeken, dit is een engelsman die deels nederlands kan...
geen vertaalmachine dus
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.