Forumlier

Status
Niet open voor verdere reacties.

henri2500

Gebruiker
Lid geworden
28 feb 2007
Berichten
265
Hey,

Ik wil graag een formulier maken, dat je je kan opgeven voor de nieuwbrief. Het zou er ongever zo moeten worden. Dat je je voornaam in moet vullen, en achternaam, en je e-mail

Dus

Voornaam:
Achternaam:
E-mail:

Maar ik heb geenv erstand van forumlieren dus ik hoop dat iemand mij hiermee kan helpen
is het dan ook mogelijk dat wanneer zoiets ingevuld is het verzonden wordt naar een bepaald e-mail adres in een txt bestand ofzo?

Gr Henri
 
I did, dus het is zo ongeveer onmogelijk om hem per e-mail te ontvangen

Maar uhhm hoe kun je de gegevens dan bekijken?
 
Als je even de titel boven die pagina bekijkt..
WeetHet - HTML - Formulieren (FORM) per e-mail versturen.

Dus het is nou juist voor een formulier wat per e-mail verstuurd wordt.
En de gegevens die ingevoerd worden, die krijg je dus op het e-mail adres binnen wat je daar insteld.

Je zegt dat je het al geprobeert hebt.
Zou je daar een voorbeeld van willen laten zien? :)
 
Ik snap van deze pagina niet veel, kan iemand mij verder helpen of even zelf een scriptje in elkaar zetten?? :eek:
 
hier heb je het, noem je pagina nieuwsbrief.php, of verander het in het formulier
verander het emailadres test@test.com in je eigen emailadres.
nieuwsbrief.php

PHP:
<?php  
// Variabelen: 
$vnaam       = "";    // Naam van de afzender 
$anaam = "";    // E-mailadres van de afzender 
$emailadres = "";    // Woonplaats van de afzender
$vervuild   = false; // True als het formulier geen fouten bevat 
$verzonden  = false; // True als het e-mailbericht is verzonden 
$melding    = "";    // String voor (fout)meldingen 

// Formulier alleen verwerken als er op een knop met de naam 'submit' is geklikt ... 
if (isset($_POST['submit'])) { 
    // ... en deze knop de waarde 'Verzenden' heeft: 
    if ($_POST['submit'] == "Verzenden") { 
        $vnaam       = $_POST['vnaam']; 
        $anaam = $_POST['anaam']; 
        $emailadres = $_POST['email']; 

        // HTML-tags en PHP-code verwijderen: 
        $vnaam       = strip_tags($vnaam); 
        $anaam = strip_tags($anaam);
        $emaildres = strip_tags($emailadres); 

        // Spaties en andere witruimte verwijderen uit de naam en het e-mailadres, 
        // maar niet uit de tekst van het bericht en woonplaats: 
        $vnaam       = trim($vnaam); 
        $anaam       = trim($anaam); 
        $emailadres = trim($emailadres); 

        if (strlen($vnaam) < 1) { 
            $melding  .= "Voer uw <strong>voornaam</strong> in. "; 
            $vervuild  = true; 
        } 

        if (strlen($anaam) < 1) { 
            $melding  .= "Voer uw <strong>achternaam</strong> in. "; 
            $vervuild  = true; 
        } 

        if (strlen($emailadres) < 1) { 
            $melding  .= "Voer uw <strong>e-mailadres</strong> in. "; 
            $vervuild  = true; 
        } else { 
            require_once('is_email.inc.php'); 
            if (!is_email($emailadres)) { 
                $melding  .= "<strong>" . htmlentities($emailadres) . "</strong> is geen geldig e-mailadres. "; 
                $vervuild  = true; 
            } 
        } 
        
        // E-mailbericht verzenden als de gegevens niet vervuild zijn: 
        if (!$vervuild) { 
            // Constante voor het e-mailadres van de ontvanger: 
            define("AAN", "test@test.com"); 
            // Constante voor het onderwerp: 
            define("ONDERWERP", "Aanmeldingsemail voor nieuwsbrief"); 
            // Headers met de naam en het e-mailadres van de gebruiker: 
            $headers  = "From: \"$naam\" <$emailadres>\r\n"; 
            $headers .= "Reply-To: \"$naam\" <$emailadres>\r\n"; 
            // Naam en e-mailadres toevoegen aan de tekst: 
            $tekst = "\r\n\r\n$vnaam"; 
            $tekst .= "\r\n$anaam";
            $tekst .= "\r\n$emailadres"; 
            if (mail(AAN, ONDERWERP, $tekst, $headers)) { 
                $verzonden  = true; 
                $melding    = "U bent succesvol aangemeld voor de nieuwsbrief "; 
            } else { 
                $verzonden  = false; 
                $melding    = "Uw aanmelding kon niet worden verzonden. "; 
                $melding   .= "Wijzig het e-mailadres of probeer het later nog een keer. "; 
            } 
        } 
    } 
} 

// Standaardtekst voor instructies instellen als er geen foutmeldingen zijn: 
if ($melding == "") { 
    $melding  = "Voer eerst uw voornaam en achternaam en uw emailadres in. "; 
    $melding .= "Klik daarna op aanmelden."; 
} 
?> 
<html>
<head>
<title>Aanmelden voor de nieuwsbrief</title>
</head>
<body>
<h1>Aanmelden voor nieuwsbrief</h1> 
<p><?php echo $melding; ?></p> 
<form action="nieuwsbrief.php" method="POST">
<table height="120" border="0">
<tr height="30" >
<td>Voornaam:</td><td><input name="vnaam" value="" type="text" size="30"></td>
</tr>
<tr height="30">
<td>Achternaam:</td><td><input name="anaam" value="" type="text" size="30"></td>
</tr>
<tr height="30">
<td>Email:</td><td><input name="email" value="" type="text" size="30"></td>
</tr>
<tr height="30">
<td></td><td><input name="submit" value="Aanmelden" type="submit"></td>
</tr>
</table>
</form>

</body>
</html>

is_email.inc.php
PHP:
<?php
// +----------------------------------------+
// | Deze functie controleert of een string |
// | de vorm van een e-mailadres heeft.     |
// +----------------------------------------+
function is_email($emailadres)
{
    // Eerst een snelle controle uitvoeren: 
    // een e-mailadres moet uit minimaal 7 tekens bestaan:
    if (strlen($emailadres) < 7) {
        return false;
    }
    // Daarna een controle met een reguliere expressie uitvoeren:
    if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $emailadres)) {
        return true;
    } else {
        return false;
    }
}
?>
;)

Jos
 
Laatst bewerkt:
Hey Jos,

Ik heb het geprobeerd, maar op een of andere manier verzend hij hem niet, hij linkt niet door naar de volgende pagina

Gr Henri
 
Dat zit er ook niet ingebouwd. Moet dat wel?

vervang dan
PHP:
            if (mail(AAN, ONDERWERP, $tekst, $headers)) {  
                $verzonden  = true;  
                $melding    = "U bent succesvol aangemeld voor de nieuwsbrief ";  
            } else {

door
PHP:
            if (mail(AAN, ONDERWERP, $tekst, $headers)) {  
                $verzonden  = true;  
		if (headers_sent()) 
        { 
            echo "<script language=\"JavaScript\">"; 
            echo "document.location=bevestiging.html'"; 
            echo "</script>"; 
        } else { 
            header("location: producten_admin2.php"); 
        } 
            } else {

maak een bestandje bevestig.html, waar bijvoorbeeld in staat, dat het vezonden geod is gegaan.

Jso
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan