Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Automatische e-mail versturen

Annie
6 antwoorden
  • Hallo,

    Ik heb op een site een forumuliertje van phphulp.nl waar mensen icm met hun gebruikersnaam en mailadres hun wachtwoord kunnen opvragen en veranderen. Maar het probleem is dat op het moment dat ik op de knop versturen druk, dat ik geen mail krijg… :( Wel krijg ik de bevestiging op de pagina zelf dat alles goed is gegaan. Kunnen jullie er eens naar kijken?? Alvast bedankt. (Ik heb tevens het zelfde probleem bij de pagina om je te registreren.)
    [code:1:47e646afbd]<?php
    // Page for editing password

    include_once("config.php");
    include_once("login/config.php");
    include_once("login/lang/lang_".$lang.".php");
    include("login/htmltop.php");

    if(!isset($_SESSION['user_id'])) {
    if(isset($_POST['submit1'])) {
    // Exec
    if($_POST['user'] != "" AND $_POST['email'] != "") {
    $sql = "SELECT id,name,mail FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
    $query = mysql_query($sql);
    $tellen = mysql_num_rows($query);
    if($tellen == 1) {
    // Emailcheck
    $row = mysql_fetch_object($query);
    $dbemail = htmlspecialchars($row->mail);
    $dbid = htmlspecialchars($row->id);
    if($dbemail == $_POST['email']) {
    // Changepass, sendmail
    $actcode = mt_srand((double)microtime()*100000);
    while(strlen($actcode) <= 10) {
    $i = chr(mt_rand (0,255));
    if(eregi("^[a-z0-9]$", $i)) {
    $actcode = $actcode.$i;
    }
    }
    $sql = "UPDATE `".$db_tbl."` SET active=0,actcode='".$actcode."' WHERE id='".$dbid."'";
    $query = mysql_query($sql);
    if($query == TRUE) {
    $bericht = $forgotpass_mail;
    $bericht .= "CHANGE: ".$site_url."activate.php?id=".$dbid."&code=".$actcode."

    ";
    $bericht .= "_NO_ CHANGE: ".$site_url."activate.php?id=".$dbid."&code=".$actcode."&activate=true

    ";
    $mail = mail($dbemail,$forgotpass_passforgot." ".$site_name,$bericht,"From: DJ Hoofdweg <info@hoofdweg.tk>");
    if($mail == TRUE) {
    echo $forgotpass_success;
    }else{
    echo $error;
    }
    }else{
    echo $error;
    }
    }else{
    echo $forgotpass_emailerror;
    }
    }else{
    echo $forgotpass_usererror;
    }
    }else{
    echo $forgotpass_field;
    }
    }else{
    // Formulier
    ?>
    <i>Ben je jouw wachtwoord vergeten??</i><br>
    Dat is even balen zeg. Heb je een mooi account op de site, weet je jouw wachtwoord niet meer! Gelukkig kan je met het formuliertje hieronder eenvoudig jouw wachtwoord terug halen. Vul alle gegevens goed in en wacht op een mailtje!<br><br>
    <form method="post" action="?p=forgotpass">
    <table>
    <tr>
    <td rowspan="3"><img border="0" src="images/lostpass_user.png"></td>
    <td><label for="user"><?= $forgotpass_username ?>:</label></td><td><input id="user" type="text" name="user" /></td>
    </tr>
    <tr>
    <td><label for="email"><?= $forgotpass_email ?>:</label></td><td><input id="email" type="text" name="email" /></td>
    </tr>
    <tr>
    <td></td><td><input type="submit" name="submit1" value="<?= $forgotpass_passforgot ?>" /></td>
    </tr>
    </table>
    </form>
    <?
    }
    }else{
    echo $forgotpass_login;
    }

    include("login/htmlbottom.php");
    ?>[/code:1:47e646afbd]
  • $mail = mail([b:b46a9852e9]$dbemail[/b:b46a9852e9],$forgotpass_passforgot."

    heb je die database wel met de emailadressen?
  • Ja, die staat iets erboven;
    $dbemail = htmlspecialchars($row->mail);
  • Druk de volgende regel eens af ipv het mail commando:
    [code:1:71ed7272e3]
    print_r(array($dbemail,$forgotpass_passforgot." ".$site_name,$bericht,"From: DJ Hoofdweg <info@hoofdweg.tk>"));
    [/code:1:71ed7272e3]
    En kijk of de waarden kloppen.

    p.s. Waarom gebruik je de functie htmlspecialchars voor een e-mailadres?
  • Beankt voor je reactie. Ik ga gelijk even kijken of dat iets oplevert. En die htmlspecialchars zaten er al in toen ik het script kreeg :P
  • Zou het zo kunnen zijn dat ik dit er uit krijg??
    [code:1:49e2e46ef1]Array ( [0] => [1] => Wachtwoord vergeten DJ Hoofdweg [2] => [3] => From: DJ Hoofdweg ) [/code:1:49e2e46ef1]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.