PHP Code Contactformulier werkt niet

Status
Niet open voor verdere reacties.

Frederick151

Gebruiker
Lid geworden
29 mei 2012
Berichten
19
Dag allemaal,

Ik heb een contactformulier gemaakt o.b.v. een tutorial (ben nieuw in PHP) en op een of andere manier werkt de code niet, terwijl ik het meerdere malen gecheckt heb.

Hier allereerst een screenshot van wat voor meldingen ik krijg via de localhost Winamp server die ik gebruik voor developing (ik heb het formulier ook op een werkelijke server geprobeerd).

Untitled-2.jpg

En dan nu de codes

PHP-code
Code:
<?php
	if (isset($_POST["submit"])) {
		$name = $_POST['name'];
		$email = $_POST['email'];
    $yoursubject = $_POST['yoursubject'];
		$message = $_POST['message'];
		$human = intval($_POST['human']);
		$from = 'Flagforce NL Contact Formulier';
		$to = 'example@bootstrapbay.com';
		$subject = 'Bericht via Nederlandse website Flagforce.nl';

		$body = "Naam: $name\n E-Mail: $email\n Onderwerp: $yoursubject\n Bericht:\n $message";

		// Check if name has been entered
		if (!$_POST['name']) {
			$errName = 'Please enter your name';
		}

		// Check if email has been entered and is valid
		if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
			$errEmail = 'Please enter a valid email address';
		}

    // Check if a subject has been entered
    if (!$_POST['yoursubject']) {
      $errYoursubject = 'Please enter a subject';
    }

		//Check if message has been entered
		if (!$_POST['message']) {
			$errMessage = 'Please enter your message';
		}
		//Check if simple anti-bot test is correct
		if ($human !== 5) {
			$errHuman = 'Your anti-spam is incorrect';
		}

// If there are no errors, send the email
if (!$errName && !$errEmail && !$errYoursubject && !$errMessage && !$errHuman) {
	if (mail ($to, $subject, $body, $from)) {
		$result='<div class="alert alert-success">Thank You! I will be in touch</div>';
	} else {
		$result='<div class="alert alert-failed">Sorry there was an error sending your message. Please try again later</div>';
	}
}
	}
?>

HTML-code
Code:
<section class="contactform">
                <div class="container">
                        <h1>Stuur ons een bericht</h1>
                        <h2>Stuur ons snel en gemakkelijk een bericht via het formulier.</h2>
                        <form id="contact-form" action="contact.php" role="form" method="post">
                            <label for="name">Uw naam</label>
                            <input type="text" id="name" name="name"    placeholder="Voor- en achternaam" value="<?php echo htmlspecialchars($_POST['name']); ?>">
                            <?php echo "<p class='mistake'>$errName</p>";?>

                            <label for="email">Uw e-mail</label>
                            <input type="email" id="email" name="email"    placeholder="voorbeeld@domein.nl" value="<?php echo htmlspecialchars($_POST['email']); ?>">
                            <?php echo "<p class='mistake'>$errEmail</p>";?>

                            <label for="subject">Onderwerp</label>
                            <input type="text" id="subject" name="subject"    placeholder="Meer informatie" value="<?php echo htmlspecialchars($_POST['yoursubject']); ?>">
                            <?php echo "<p class='mistake'>$errYoursubject</p>";?>



                            <label for="message">Uw bericht</label>
                            <textarea id="message" name="message"    placeholder="Wat wilt u ons vertellen?" rows="7"><?php echo htmlspecialchars($_POST['message']);?></textarea>
                            <?php echo "<p class='mistake'>$errMessage</p>";?>
                            <label for="human">2 + 3 = ?</label>
                            <input type="text" name="human" id="human" placeholder="Uw antwoord">
                            <?php echo "<p class='mistake'>$errHuman</p>";?>
                            <input type="submit" value="Versturen">
                        </form>
                </div>
            </section>

Ik heb van alles geprobeerd, maar niets lijkt te werken. Hopelijk is er een held die me hiermee kan helpen ! Alvast bedankt.

Met vriendelijke groet,

Frederick
 
ik heb php code iets aangepast $fout...
Code:
<?php
if(isset($_POST['submit'])){
    $name = $_POST['name'];
    $email = $_POST['email'];
    $yoursubject = $_POST['yoursubject'];
    $message = $_POST['message'];
    $human = intval($_POST['human']);
    $from = 'Flagforce NL Contact Formulier';
    $to = 'example@bootstrapbay.com';
    $subject = 'Bericht via Nederlandse website Flagforce.nl';
    $body = "Naam: $name\n E-Mail: $email\n Onderwerp: $yoursubject\n Bericht:\n $message";
    $fout = false;
    if(!$_POST['name']){// Check if name has been entered
        $fout = true;       $errName = 'Please enter your name';
    }
    if(!$_POST['email']||!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)){ // Check if email has been entered and is valid
        $fout = true;       $errEmail = 'Please enter a valid email address';
    }
    if(!$_POST['yoursubject']){// Check if a subject has been entered
        $fout = true;       $errYoursubject = 'Please enter a subject';
    }
    if(!$_POST['message']){//Check if message has been entered
        $fout = true;       $errMessage = 'Please enter your message';
    }
    if($human !== 5){//Check if simple anti-bot test is correct
        $fout = true;       $errHuman = 'Your anti-spam is incorrect';
    }
    if($fout){// If there are no errors, send the email
        if (mail($to, $subject, $body, $from)) {
            $result = '<div class="alert alert-success">Thank You! I will be in touch</div>';
        } else {
            $result = '<div class="alert alert-failed">Sorry there was an error sending your message. Please try again later</div>';
        }
    }
}
?>

html is ook verandert maar zal in je php file moeten staan

Code:
<section class="contactform">
    <div class="container">
            <h1>Stuur ons een bericht</h1>
            <h2>Stuur ons snel en gemakkelijk een bericht via het formulier.</h2>
            <form id="contact-form" action="contact.php" role="form" method="post">
                <label for="name">Uw naam</label>
                <input type="text" id="name" name="name"    placeholder="Voor- en achternaam" value="<?php echo htmlspecialchars($_POST['name']); ?>" pattern="[A-Za-z0-9]+" required  >
                <?php echo "<p class='mistake'>$errName</p>";?>
                <label for="email">Uw e-mail</label>
                <input type="email" id="email" name="email"    placeholder="voorbeeld@domein.nl" value="<?php echo htmlspecialchars($_POST['email']); ?>" pattern="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{1,63}$" required>
                <?php echo "<p class='mistake'>$errEmail</p>";?>
                <label for="subject">Onderwerp</label>
                <input type="text" id="subject" name="subject"    placeholder="Meer informatie" value="<?php echo htmlspecialchars($_POST['yoursubject']); ?>" required>
                <?php echo "<p class='mistake'>$errYoursubject</p>";?>
                <label for="message">Uw bericht</label>
                <textarea id="message" name="message"    placeholder="Wat wilt u ons vertellen?" rows="7"><?php echo htmlspecialchars($_POST['message']); required ?></textarea>
                <?php echo "<p class='mistake'>$errMessage</p>";?>
                <label for="human">2 + 3 = ?</label>
                <input type="text" name="human" id="human" placeholder="Uw antwoord" required>
                <?php echo "<p class='mistake'>$errHuman</p>";?>
                <input type="submit" value="Versturen">
            </form>
    </div>
</section>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan