PHP Script error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans van Ballegooijen

Hans van Ballegooijen

10/05/2013 14:13:05
Quote Anchor link
Beste mensen,

Ik ben bezig met het ontwikkelen van een website (Dakofferte.nl), Nu stuit ik bij het ontwikkelen van een PHP script voor het aanvragen van een offerte via de mail op een error waar ik geen raad mee weet. Wie kan mij helpen?

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
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
error_reporting(E_ALL ^ E_NOTICE);


if($_POST['verzend']){
        $onderwerp = $_POST['onderwerp'];
    $naam = $_POST['naam'];
    $adress = $_POST['adress'];
    $plaats = $_POST['plaats'];
    $telefoonnummer = $_POST['telefoonnummer'];
    $email = $_POST['email'];
    $typepan = $_POST['typepan'];
        $opmerkingen = $_POST['opmerkingen'];
    
    
    if($onderwerp){
        if($naam){
        
                if($adress){
                    if($plaats){
                        if($telefoonnummer){
                            if((strlen($email) >= 7) && (strstr($email, "@")) && (strstr($email, "."))){
                                
                                            //variabele om in te voegen.
                                            $date = date("F d Y H:i:s");
                                            $eigenaarsemail = "[email protected]";
                                                //email naar gebruiker
                                                    $webmaster = "[email protected]";
                                                    $headers = "Van: $webmaster";
                                                    $subject = "Aanvraag offerteformulier: $naam";
                                                    $message = "$naam, heet het volgende aangevraagd \n\n";
                                                    $message .= "Onderwerp: $onderwerp.\n";
                                                    $message .= "Tijdstip: $date.\n";
                                                    $message .= "Adres: $adress.\n";
                                                    $message .= "Plaats: $plaats.\n";
                                                    $message .= "Telefoonnummer: $telefoonnummer.\n";
                                                    $message .= "Email:$email. \n";
                                                    $message .= "Opmerkingen:$opmerkingen. \n";
                                        
                                                    
                                                
                                                    if (mail($eigenaarsemail, $subject, $message, $headers)){
                                                        echo "Uw aanvraag is ontvangen we nemen zo spoedig mogelijk contact met u op";
                                                    }
else
                                                         echo "Er is een fout opgetreden we verzoeken u om dit formulier nogmaals te versturen. $form.";
                                
                                    
                            }
else
                                echo "Vul een geldig emailadress in om dit formulier te verzenden. $form";
                        }
else
                            echo "U moet een telefoonnummer invullen. $form";
                    }
else
                        echo "U moet een plaats invullen. $from";
                }
else
                    echo "U moet een adress invullen. $form";
        }
else
            echo "U moet een naam invullen. $form";
    }
else
        echo "U moet een onderwerp kiezen. $form";
}

$form ="<form action='' method='post'>
<table width='300' border='0'>    
     <tr>
        <td><label>Onderwerp</label></td>
        <td><select name='onderwerp'>
            <option name='dakinspectie'>Dakinspectie</option>
            <option name='vernieuwen_dakpannen'>Vernieuwen Dakpannen</option>
            <option name='vernieuwen dakpannen + isolatie'>Vernieuwen Dakpannen + Isolatie</option>
            <option name=' vernieuwen dakpannen+isolatie+zinkwerken'> Vernieuwen Dakpannen+Isolatie+Zinkwerken</option>
            <option name='schoorsteen inspecteren'>Schoorsteen Inspecteren</option>
            <option name='zonnepanelen '>Zonnepanelen </option>
            <option name='dakkapel '>Dakkapel </option>
            <option name='velux dakraam plaatsen'>Velux Dakraam Plaatsen</option>
            <option name='overige werkzaamheden'>Overige Werkzaamheden</option>
        </select></td>
    </tr>
  <tr>
    <td><label>Naam</label></td>
    <td><input name='naam' type='text' /></td>
  </tr>
  <tr>
    <td><label>Adres</label></td>
    <td><input name='adress' type='text' /></td>
  </tr>
  <tr>
    <td><label>Plaats</label></td>
    <td><input name='plaats' type='text' /></td>
  </tr>
  <tr>
    <td><label>Telefoonnummer</label></td>
    <td><input name='telefoonnummer' type='text' /></td>
  </tr>
  <tr>
    <td><label>Email</label></td>
    <td><input name='email' type='text' /></td>
  </tr>
  <tr>
      <td>Type</td>
     <td><input name='typepan' type='checkbox' value='dakpannen' checked='yes'/>
Dakpannen<br />
<input name='typepan' type='checkbox' value='platte daken' />
  Platte Daken</td>
  </tr>
  <tr>
    <td>Opmerkingen:</td>
    <td>
    <textarea name='opmerkingen' cols=50 rows=10></textarea>
    
    </td>
  </tr>
  <tr>
      <td></td>
    <td><input name='verzend' type='submit' value='Verzenden' /></td>
  </tr>
  
</table>
</form>"
;

    echo $form;

?>


Ik hoop op een goede oplossing!

Met vriendelijke groet,

Hans
 
PHP hulp

PHP hulp

20/04/2024 15:01:57
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/05/2013 14:17:52
Quote Anchor link
en welke foutmelding krijg je dan?
 
Hans van Ballegooijen

Hans van Ballegooijen

10/05/2013 14:21:16
Quote Anchor link
Als je het formulier compleet invult, geeft hij de volgende melding op de website:

"Er is een fout opgetreden we verzoeken u om dit formulier nogmaals te versturen."
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/05/2013 14:28:17
Quote Anchor link
dit gaat niet goed.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$headers
= "Van: $webmaster";
?>


Van moet From zijn. verder adviseer ik je om de variabelen buiten de quotes te houden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$headers
= 'From: '.$webmaster;
?>
 
- SanThe -

- SanThe -

10/05/2013 14:31:40
Quote Anchor link
<option> heeft geen name maar een value.
 
Pieter van Linschoten

Pieter van Linschoten

10/05/2013 16:29:41
Quote Anchor link
Ik zou ook adviseren om de foutmeldingen gezamelijk af te handelen, zodat een potentiele klant in één keer ziet wat hij is vergeten, in plaats van veld voor veld te moeten zien wat er niet klopt.

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
<?php
$errors
= array();
if(!$onderwerp)
{

   $errors[] = 'Foutmelding ...';
}

if(!$naam)
{

   $errors[] = 'Foutmelding';
}

/*
 * Etcetera etcetera ...      
 */

// als het aantal fouten > 0

if(sizeof($errors) > 0)
{

     // printen van je foutmeldingen
     foreach($errors as $error)
     {

         // print je foutmeldingen.
     }

}

else
{
     // versturen van je mail
}

?>


Daarnaast is het voor een offerte formulier interessant van te voren aan te geven, welke velden verplicht zijn, met bijvoorbeeld een sterretje (*)
Gewijzigd op 10/05/2013 16:30:37 door Pieter van Linschoten
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.