Versio

Verplichte invoervelden

Overzicht Reageren

Ricardo Santanera

Ricardo Santanera

05/09/2011 16:36:16
Quote Anchor link
Ik ben bezig met een website waarin een contact formulier moet komen alleen loop ik steeds tegen een probleem aan..
Ik krijg geen verplichte invoervelden. Ik heb 2 pagina's: contact.php en contact_send.php.

Als ik if (jes) toevoeg krijg ik een blanco pagina, zou iemand mij hier mee kunnen helpen?

Quote:
<form action="contact_send.php" method="post">
<table width="110%" cellpadding="2" cellspacing="2" border="0">
<tr>
<td colspan="2" ><h2>Uw gegevens:</h2></td>
</tr>
<tr>
<td width="209" class="tekst_719">Voornaam: *</td>
<td width="498" class="tekst_719"><input type="text" name="voornaam" size="53" /></td>
</tr>
<tr>
<td class="tekst_719">Achternaam: *</td>
<td class="tekst_719"><input type="text" name="achternaam" size="53" /></td>
</tr>
<tr>
<td class="tekst_719">Adres (+eventuele toevoeging): *</td>
<td class="tekst_719"><input type="text" name="adres" size="53" /></td>
</tr>
<tr>
<td class="tekst_719">Postcode: *</td>
<td class="tekst_719"><input type="text" name="postcode" size="53" maxlength="6" />
<i>bv 1234AA</i></td>
</tr>
<tr>
<td class="tekst_719">Woonplaats: *</td>
<td class="tekst_719"><input type="text" name="woonplaats" size="53" /></td>
</tr>
<tr>
<td class="tekst_719">Land:</td>
<td class="tekst_719"><input type="text" name="land" size="53" /></td>
</tr>
<tr>
<td colspan="2" class="kop_719">Contactgegevens:</td>
</tr>
<tr>
<td class="tekst_719">Telefoonnummer:</td>
<td class="tekst_719"><input type="text" name="telefoonnummer" size="53" maxlength="" />
<i>bv 0123456789</i></td>
</tr>
<tr>
<td class="tekst_719">Mobiel Telefoonnummer:</td>
<td class="tekst_719"><input type="text" name="mobiel" size="53" maxlength="" />
<i>bv 0612345678</i></td>
</tr>
<tr>
<td class="tekst_719">E-mail adres: *</td>
<td class="tekst_719"><input type="text" name="email" size="53" /></td>
</tr>
<tr>
<td colspan="2" class="h2">Uw vragen of opmerkingen</td>
</tr>
<tr>
<td valign="top" class="tekst_719">Opmerkingen/Vragen: *</td>
<td valign="top" class="tekst_719"><textarea name="opmerkingen" cols="54" rows="8"></textarea> </td>
</tr>
<tr>
<td class="tekst_719">&nbsp;</td>
<td class="tekst_719"><input name="submit" type="submit" value="Verzenden" /></td>
</tr>
</table>
</form>


Contact_send.php:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

    $voornaam
=$_POST[voornaam];
    $achternaam=$_POST[achternaam];
    $adres=$_POST[adres];
    $postcode=$_POST[postcode];
    $woonplaats=$_POST[woonplaats];
    $land=$_POST[land];
    $telefoonnummer=$_POST[telefoonnummer];
    $mobiel=$_POST[mobiel];
    $email=$_POST[email];
    $opmerkingen=$_POST[opmerkingen];
    
    //Nieuw:
    $to = "Etsero <info@etsero.nl>";

    $subject = "[$aanhef $voornaam $achternaam] - Reactie via de contact pagina";

    $message= "Deze vraag werd ingezonden via de contact pagina: \n\n";
    $message.= "Voornaam: $voornaam\n";
    $message.= "Achternaam: $achternaam\n";
    $message.= "Adres: $adres\n";
    $message.= "Postcode: $postcode\n";
    $message.= "Woonplaats: $woonplaats\n";
    $message.= "Land: $land\n\n";
    $message.= "Telefoon: $telefoonnummer\n";
    $message.= "Mobiel: $mobiel\n";
    $message.= "E-Mail adres: $email\n\n";
    $message.= "Vragen/opmerkingen:\n $opmerkingen\n";
    
    $headers .= 'From: Etsero <info@etsero.nl>' . "\r\n";

    if ($email<>"")
    {

        $headers .= 'Reply-to: ' . $email . "\r\n";
    }

    mail($to, $subject, $message, $headers);
?>
Gewijzigd op 05/09/2011 16:41:07 door Ricardo Santanera
 
PHP hulp

PHP hulp

25/05/2012 17:38:09
Gesponsorde koppelingen:
 
Bart Willemsen

Bart Willemsen

05/09/2011 22:51:59
Quote Anchor link
Je moet natuurlijk wel eerst een controle toevoegen op de velden die je verplicht in wilt vullen, ongeveer op deze manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if (strlen($voornaam) < 0) {
    $error['voornaam'] = "Geen voornaam ingevuld";
}


if (strlen($achternaam) < 0 {
    $error['achternaam'] = "Geen achternaam ingevuld";
}

?>


Enzovoorts. Daarna kun je de foutmeldingen geven door gewoon te controleren of de $error array is aangemaakt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if (isset($error)) {
    foreach ($error as $value) {
        echo $value;
     }
}

?>
Gewijzigd op 05/09/2011 22:55:31 door Bart Willemsen
 
- SanThe -

- SanThe -

05/09/2011 23:09:45
Quote Anchor link
Bart Willemsen op 05/09/2011 22:51:59:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if (strlen($voornaam) < 0) {
    $error['voornaam'] = "Geen voornaam ingevuld";
}


if (strlen($achternaam) < 0 {
    $error['achternaam'] = "Geen achternaam ingevuld";
}

?>


@Bart: Je bedoelt het goed, maar kleiner dan nul?
 
Bart Willemsen

Bart Willemsen

05/09/2011 23:12:03
Quote Anchor link
Ow sorry, dat kan niet inderdaad.. >.<

Ik bedoel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if (strlen($voornaam) == 0) {
    $error['voornaam'] = "Geen voornaam ingevuld";
}


if (strlen($achternaam) == 0 {
    $error['achternaam'] = "Geen achternaam ingevuld";
}

?>
Gewijzigd op 05/09/2011 23:14:04 door Bart Willemsen
 
- SanThe -

- SanThe -

05/09/2011 23:26:32
Quote Anchor link
Je hebt duidelijk de error_reporting(E_ALL) niet aanstaan. Anders had je bij de regels 3 t/m 12 op elke regel een Notice gezien. $_POST is een array() en dan gebruik je quotes om de key. Dus $_POST['bla']. Verder is het aan te raden om $vars buiten de quotes te houden. En voor \r\n heeft php een eigen invulling, namelijk PHP_EOL.
 
Ricardo Santanera

Ricardo Santanera

06/09/2011 13:38:31
Quote Anchor link
Bedankt trouwens voor jullie reactie!
Ik heb het nu aangepast maar ik ik krijg nog steeds een blanco pagina..
Ben helaas geen ster in php :P

Code ziet er nu zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
    error_reporting(E_ALL)

    $voornaam=$_POST['voornaam'];
    $achternaam=$_POST['achternaam'];
    $adres=$_POST['adres'];
    $postcode=$_POST['postcode'];
    $woonplaats=$_POST['woonplaats'];
    $land=$_POST['land'];
    $telefoonnummer=$_POST['telefoonnummer'];
    $mobiel=$_POST['mobiel'];
    $email=$_POST['email'];
    $opmerkingen=$_POST['opmerkingen'];
    
    if (strlen($voornaam) == 0) {
        $error['voornaam'] = "Geen voornaam ingevuld";
    }

    if (strlen($achternaam) == 0 {
        $error['achternaam'] = "Geen achternaam ingevuld";
    }

    if (strlen($adres) == 0 {
        $error['adres'] = "Geen adres ingevuld";
    }

    if (strlen($postcode) == 0 {
        $error['postcode'] = "Geen postcode ingevuld";
    }

    if (strlen($woonplaats) == 0 {
        $error['woonplaats'] = "Geen woonplaats ingevuld";
    }

    if (strlen($email) == 0 {
        $error['email'] = "Geen geldig e-mail adres ingevuld";
    }

    if (strlen($opmerkingen) == 0 {
        $error['opmerkingen'] = "Geen opmerkingen ingevuld";
    }

        
    //Nieuw:
    $to = "Etsero <info@etsero.nl>";

    $subject = "[$aanhef $voornaam $achternaam] - Reactie via de contact pagina";

    $message= "Deze vraag werd ingezonden via de contact pagina: \n\n";
    $message.= "Voornaam: $voornaam\n";
    $message.= "Achternaam: $achternaam\n";
    $message.= "Adres: $adres\n";
    $message.= "Postcode: $postcode\n";
    $message.= "Woonplaats: $woonplaats\n";
    $message.= "Land: $land\n\n";
    $message.= "Telefoon: $telefoonnummer\n";
    $message.= "Mobiel: $mobiel\n";
    $message.= "E-Mail adres: $email\n\n";
    $message.= "Vragen/opmerkingen:\n $opmerkingen\n";
    
    $headers .= 'From: Etsero <info@etsero.nl>' . "\r\n";

    if ($email<>"")
    {

        $headers .= 'Reply-to: ' . $email . "\r\n";
    }

    mail($to, $subject, $message, $headers);
    
    if (isset($error)) {
    foreach ($error as $value) {
        echo $value;
     }
}

?>
 
Jacco Engel

Jacco Engel

06/09/2011 13:58:27
Quote Anchor link
Kleine tip :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
 $voornaam
=$_POST['voornaam'];
?>


veranderen in :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
 $voornaam
= trim($_POST['voornaam']);
?>


Anders kan ik gewoon allemaal spaties invullen ;)
 
Vincent Huisman

Vincent Huisman

06/09/2011 14:01:29
Quote Anchor link
je doet ook nog nieks met de errors
 
Jacco Engel

Jacco Engel

06/09/2011 14:03:16
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    if (isset($error)) {
    foreach ($error as $value) {
        echo $value;
     }

?>


regel 62 - 65
 
- SanThe -

- SanThe -

06/09/2011 14:07:23
Quote Anchor link
Puntkomma op regel 2 mist.
 
Ricardo Santanera

Ricardo Santanera

06/09/2011 14:13:08
Quote Anchor link
oke heb het nu aangepast, moet alleen nog met de errors bezig neem ik aan.. Bedankt voor de tip trouwens ;)

haha die puntkomma was ook niet echt handig van mij! tnx ga het zo testen!


Toevoeging op 06/09/2011 14:31:40:

Ik loop nog steeds tegen een blanco pagina aan waar in mijn errors of wat dan ook niet kan zien.. iemand die weet waar het aan ligt? ( i know, me :P )

Bvd

Toevoeging op 06/09/2011 15:10:16:

Ik heb het probleem gevonden, miste haakjes bij :

if (strlen($achternaam) == 0 { ----> if (strlen($achternaam) == 0) {

iedereen toch nog bedankt!
 
Jason  van der Zeeuw

Jason van der Zeeuw

06/09/2011 16:08:59
Quote Anchor link
-opgelost
Gewijzigd op 06/09/2011 16:09:13 door Jason van der Zeeuw
 



Overzicht Reageren

Get Adobe Flash player