PHP Script error
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)
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
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;
?>
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
en welke foutmelding krijg je dan?
"Er is een fout opgetreden we verzoeken u om dit formulier nogmaals te versturen."
Van moet From zijn. verder adviseer ik je om de variabelen buiten de quotes te houden:
<option> heeft geen name maar een value.
Code (php)
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
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
}
?>
$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