Verplicht veld

Status
Niet open voor verdere reacties.

marcvk45

Gebruiker
Lid geworden
22 dec 2010
Berichten
93
1) Ik weet dat ik niet de eerste ben met deze vraag maar ben nog maar pas bezig met website maken en hetgeen ik gevonden is voor mij nog onverstaanbaar. Vandaag heb ik een mail ontvangen door middel van in bijlage simpel formulier en in die mail ontbrak het adres - telefoonnummer en het email adres.
Hoe kan ik dit formulier aanpassen zodat deze velden verplicht in te vullen zijn.

2) Normaal kan je het mailadres achterhalen als je de muiscursor op de naam van de afzender laat staan, maar bij deze lukte dat niet. Heeft dat misschien iets te maken omdat achter de naam <> stond ?

Bedankt op voorhand
 

Bijlagen

Hoi,
Hier staat wat uitleg
http://www.w3schools.com/php/php_form_required.asp
En in bijlage pdf, eventjes snel gemaakt
Dit is een pdf formulier, als je die opent met een pdf reader zal je zien dat alle velden rood gekleurd zijn wat betekend dat het verplichte velden zijn.
Het versturen werkt natuurlijk niet want er zit geen email adres achter.
Verder heb ik hier nog een goede php script liggen maar om die aan te passen naar jou vbtje heb ik wat tijd nodig
Groet
 

Bijlagen

Laatst bewerkt:
Gebruik liever dit om te controleren of een formulier verstuurd is:
Code:
if($_SERVER['REQUEST_METHOD']=="POST") {

Verder kan je hiermee controleren of iets ingevuld is:
Code:
<?php
if(trim($variabele)=='') {
// leeg
}
 
Beiden bedankt voor jullie antwoorden. Maar bovenstaande code waar moet ik die ergens inbrengen en moet die 1X ingebracht worden of bij ieder veld ?
 
Met mijn gegeven code kan je per veld controleren of deze ingevuld is.
 
Dank u. Maar waar plaats ik die code in mijn bestand. Bovenaan in het midden of onderaan of telkens bij een invoerveld ???
 
Op de plek waar je formulier dan ge-POST is. Heb je al ervaring met PHP?
 
Geen ervaring met PHP. Ben volledig nieuw en heb dit gevonden en in elkaar gekregen na veel zoeken en proberen.
Daarom versta ik niet altijd wat jullie bedoelen zoals dit : "Op de plek waar je formulier dan ge-POST is".
Ik zou gewoon willen weten waar ik dit huis moet inbrengen : achter die regel of voor dit.
Bedankt voor uw geduld met mij
 
Is een basiscursus niet handig zodat je zelf weet hoe het in elkaar steekt. Je gaat immers ook geen slipcursus dien alvorens je kan autorijden. ;)
 
Ik ben dit wel van plan omdat ik hier mee verder wil maar voorlopig moet ik het stellen met jullie hulp.
 
Ik zal zo een voorbeeld maken
 
Hier is geen validatie van de velden is, en ik mis een hoop goede headers.
Ik ben bezig met een verbeterde versie.
 
En klaar:

PHP:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Contact formulier</title>
</head>
<h1>Contact Formulier</h1>
<body>
<?php
// Geef GELDIGE adressen op
// Een korte benaming voor jouw website
$website_naam = 'Mijn Site';
// Onderwerp van je mail
$onderwerp = 'Aanvraag reservering';
// Jouw eigen geldige emailadres
$eigen_emailadres = 'mijn_emailadres@mijn_domein.nl';
// Een geldig emailadres voor errors
$error_emailadres = 'mijn_emailadres@mijn_domein.nl';
// Een geldig emailadres of helemaal leeg laten
$bcc_emailadres = 'geldig_emailadres@geldig_domein.nl';
// HTML mail? True/False
$html = true;


if($_SERVER['REQUEST_METHOD']=="POST") {
    // het formulier is verstuurd, we gaan nu de invoer valideren.
	$errors = array(); // aanmaken van de error-array
    if(trim($_POST['naam'])=='') {
	$errors[] = "Naam is niet ingevuld!";
    } elseif (trim($_POST['adres'])=='') {
	$errors[] = "Adres is niet ingevuld!";
    } elseif (trim($_POST['woonplaats'])=='') {
	$errors[] = "Woonplaats is niet ingevuld!";
    } else {
	//validatie is geslaagd, nu de errors tellen.
	if(count($errors)>0) {
	    // er zijn errors gevonden. Laat ze hier zien!
	    echo "<ul>";
	    foreach($errors as $error) {
		echo "<li>".$error."</li>";
	    }
	    echo "</ul>";
	} else {
	    // er zijn geen errors gevonden, de validaties zijn okee, dus mogen we mailen!
	    $bericht = 'Naam: '.$_POST['naam'].'
			Adres: '.$_POST['adres'].'
			Woonplaats: '.$_POST['woonplaats'].'
			Tel: '.$_POST['tel'].'
			Email: '.$_POST['email'].'
			Aankomstdatum: '.$_POST['aankomstdatum'].'
			Vertrekdatum: '.$_POST['vertrekdatum'].'
			Bericht: '.$_POST['bericht'];
	    // De headers samenstellen
	    $headers	 = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . "\r\n";
	    $headers	.= 'Reply-To: ' . $_POST['naam'] . ' <' . $_POST['email'] . '>' . "\r\n";
	    $headers	.= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . "\r\n";
	    $headers	.= ($bcc_emailadres != '') ? 'Bcc: ' . $bcc_emailadres . "\r\n" : '';
	    $headers	.= 'X-Mailer: PHP/' . phpversion() . "\r\n";
	    $headers	.= 'X-Priority: Normal' . "\r\n";
	    $headers	.= ($html) ? 'MIME-Version: 1.0' . "\r\n" : '';
	    $headers	.= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . "\r\n" : '';
	    
	    // Geen errors gevonden, bericht en de headers zijn samengesteld. We kunnen de mail versturen!
	    if (mail($eigen_emailadres, $onderwerp, $bericht, $headers)) {
		//succesmelding als correct verzonden
		echo '<p>Bericht is succesvol verzonden.</p>';
	    } else {
		//foutmelding als niet verzonden
		echo '<p>Er is een fout opgetreden bij het verzenden van het bericht. Probeer het later nogmaals.</p>';
	    }
	}
    }
} else {
// er is niks verstuurd via POST, dus tonen we het formulier. Dit is de eerste stap die men altijd ziet.
    ?>
    <form action="contact.php" method="post" style="">
    
    <table border="0">
        <tr>
            <td>Naam:</td>
            <td><input type="text" name="naam" required></td>
        </tr>
         <tr>
            <td>Adres:</td>
            <td><input type="text" name="adres" required></td>
        </tr>
         <tr>
            <td>Woonplaats:</td>
            <td><input type="text" name="woonplaats" required></td>
        </tr>
         <tr>
            <td>Tel:</td>
            <td><input type="text" name="tel" required></td>
        </tr>
        <tr>
            <td>Email:</td>
            <td><input type="text" name="email" required></td>
        </tr>
         <tr>
            <td>Aankomstdatum:</td>
            <td><input type="text" name="aankomstdatum" required></td>
        </tr>
         <tr>
            <td>Vertrekdatum:</td>
            <td><input type="text" name="vertrekdatum" required></td>
        </tr>
        <tr>
            <td>Bericht:</td>
            <td><textarea name="bericht" rows="5" cols="40"></textarea></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" value="Verzenden"></td>
        </tr>
    </table>
    
    </form>
    <?php
}
?>
</body>
</html>

Een kanttekening is wel dat ik geen fan ben van de standaard mail-functie van PHP. Zelf prefereer ik liever phpMailer, dit omdat deze makkelijker aan te passen is aan de (SMTP-)mailserver, en tevens makkelijker te debuggen is als de mails niet kunnen worden verstuurd. Tevens is ene mail hier nog makkelijker mee op te bouwen.
 
Laatst bewerkt:
gast0660

Bedankt voor uw hulp. Dat werkt goed

PHP4U

Uw code werkt goed. Het enige wat ik niet vind is als er een ongeldig email-adres is gegeven dan gaat het versturen ok.
 
Dat zit inderdaad niet in de code zie ik.
Met logisch kijken valt dit zeker wel toe te voegen, daar leer je ook van ;).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan