2015-12-31 6 views
0

Так что я делаю сайт, где люди могут subscibe через форму на событие, где они хотят принять участие.почты функция PHP не работает

Идея заключается в том, что они заполняют форму

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="lettertype"> 
<p>Voeg een nieuwe inschrijving toe:</p><br> 
<label for = "Naam">Naam: </label><input type="text" name="Naam" class="naam"/><br /> 
<label for = "Klas">Klas: </label><input type="text" name="Klas" class="klas"/><br /> 
<label for = "Email">E-mail: </label><input type="text" name="Email" class="e-mail"/><br /> 
<label for = "Bericht">Opmerking: </label><input type="text" name="Bericht" class="bericht" rows="7" cols="40"/><br /> 

<input type="submit" value="Verstuur" class="submit"/><br /> 
</form> 

И после того, как они заполнили эту форму в данных из этой формы, будут храниться в базе данных. Что на самом деле работает ... но ... Другая идея заключается в том, что они также получат электронное письмо, в котором говорится, что подписка была сделана правильно и что они находятся в базе данных. Я немного потерял, что теперь делать, мой код выглядит следующим образом:

Единственное, что не работает, это почта, и я не знаю почему.

<?php 

error_reporting(0); // disable errors 
// VOOR DEZE OPDRACHT MOET AUTO-INCREMENT AAN STAAN! 
if ($_SERVER["REQUEST_METHOD"] == "POST") 
{ 

    $naam = htmlspecialchars($_POST['Naam']); 
    $klas = htmlspecialchars($_POST['Klas']); 
    $email = htmlspecialchars($_POST['Email']); 
    $bericht = htmlspecialchars($_POST['Bericht']); 



$servername = "149.210.209.156"; 
$username = "mar_info_inschri"; 
$password = "buigbZUWXoU4"; 
$dbname = "marklandloop_info_inschri"; 

    error_reporting(E_ERROR | E_PARSE); 

    $conn = mysqli_connect($servername, $username, $password, $dbname); 

    if (mysqli_connect_errno()) { 
     printf("<p><b>Fout: verbinding met de database mislukt (is MySQL actief?).</b><br/>\n%s</p>\n", 
        mysqli_connect_error()); 
     exit(); 
    } 

    $sql = "INSERT INTO leerling(Naam, Klas, Email, Bericht) VALUES ('" .$naam. "', '" .$klas. "' , '" .$email. "', '" .$bericht. "');" ; 



    $result = mysqli_query($conn, $sql) or die(mysql_error($conn)); 
    if ($result === false) { 
     echo "Niet gelukt"; 
    }else{ 
     "<div> class='tekstformulier'>" . echo "Je inschrijving is verzonden" . "</div>";} 







$tijd = time(); 
$datum = strftime('%d/%m/%y %H:%M', $tijd); 
$ip = getenv('REMOTE_ADDR'); 
$subject = "Inschrijfformulier (Marklandloop) - $naam"; 
$message = 
'U hebt zich iingeschreven voor de Marklandloop met de volgende gegevens: 

Naam: '.$naam.' 
Klas: '.$klas.' 
E-mail: '.$email.' 
Dit bericht werd verstuurd op: '.$datum.'. 
____________________________________ 
Opmerkingen: 

'.$bericht.' 
------------------------------------'; 

mail('$email', $subject, $message, 'From: ', $naam); 

require_once "path/to/adodb.inc.php"; 
error_reporting(E_ALL); 



    // maak de resultset leeg 
    mysqli_free_result($results); 

    // sluit de connection 
    mysqli_close($conn); 
} 

?> 
+0

Что не работает? Вы видите ошибку? –

+0

используйте эту почту ($ email, $ subject, $ message, 'From:', $ naam); ' –

ответ

0

Это на самом деле не смотреть прямо на меня:

 }else{ 
    "<div> class='tekstformulier'>" . echo "Je inschrijving is verzonden" . "</div>";} 

и что произойдет, если вы пытаетесь заменить функцию почты с:

mail($email, $subject, $message, 'From: '.$naam); 
+0

. Дело выше говорит о том, что они были помещены в базу данных. Это эхо базы данных. После этого я хочу, чтобы он отправил почту –

+0

Вы уверены, что почтовая служба включена? – DaMaGeX