Weet iemand wat code is voor spatie niet toelaten in eregi?
Pagina: « vorige 1 2 3 volgende »
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
122
123
124
125
126
127
128
129
130
131
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
122
123
124
125
126
127
128
129
130
131
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if (empty($_POST['naam1']) or empty($_POST['naam2']) or empty($_POST['mail']) or empty($_POST['onderwerp']) or empty($_POST['bericht'])) {
//Validatie
/** Validate naam1 */
$naam1Pattern = '~^[a-z .\'-]+$~Di';
if ( !isset( $_POST['naam1'] ) or !preg_match( $naam1Pattern, $_POST['naam1'] ) )
{
echo "De voornaam is niet geldig!<br> \n";
}
/** Validate naam2 */
$naam2Pattern = '~^[a-z .\'-]+$~Di'; // waarom aanmaken? Kun je toch ook controleren met $naam1Pattern? Is zelfde.
if ( !isset( $_POST['naam2'] ) or !preg_match( $naam2Pattern, $_POST['naam2'] ) )
{
echo "De achternaam is niet geldig!<br> \n";
}
/** Validate e-mail address */
$mailPattern = '~^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$~Di';
if ( !isset( $_POST['mail'] ) or !preg_match( $mailPattern, $_POST['mail'] ) )
{
echo "Het e-mailadres is niet geldig!<br> \n";
}
/** Validate onderwerp */
$onderwerpPattern = '~^[a-z .\'-]+$~Di'; // waarom aanmaken? Kun je toch ook controleren met $naam1Pattern? Is zelfde.
if ( !isset( $_POST['onderwerp'] ) or !preg_match( $onderwerpPattern, $_POST['onderwerp'] ) )
{
echo "Het onderwerp is niet geldig!<br> \n";
}
/** Validate bericht */
if ( !isset( $_POST['bericht'] ) or strlen(trim($_POST['bericht'])) < 5)
{
echo "Het bericht moet minimaal 5 tekens lang zijn!<br><br> \n\n";
}
echo 'Sorry, maar helaas ben u iets vergeten, of heeft u iets verkeerd ingevuld!!<br><br>\n';
echo '<button type="button" onclick="history.go(-1);">Terug naar formulier</button>';
}
else{
// set datum
// $datum = date("d.m.Y H:i"); // deze variabele hoef je niet aan te maken.
// set ip
$ip = $_SERVER['REMOTE_ADDR']; // deze variabele hoef je niet aan te maken.
if (isset ($_POST['kaartleggen']))
{
$kaartleggen="Ja, wel informatie";
}
else
{
$kaartleggen="Nee, geen informatie";
}
if (isset ($_POST['orakel']))
{
$orakel="Ja, wel informatie";
}
else
{
$orakel="Nee, geen informatie";
}
if (isset ($_POST['tenen']))
{
$tenen="Ja, wel informatie";
}
else
{
$tenen="Nee, geen informatie";
}
if (isset ($_POST['coaching']))
{
$coaching="Ja, wel informatie";
}
else
{
$coaching="Nee, geen informatie";
}
if (isset ($_POST['individueel']))
{
$individueel="Ja, wel informatie";
}
else
{
$individueel="Nee, geen informatie";
}
// Bericht
$mailsupport= "[email protected]";
$titel= "mijn domeinnaam - " . $_POST['onderwerp'];
$mssg .= "Ingevuld Contact Formulier \n\n"; // zal een foutmelding kunnen geven, omdat $mssg nog niet bestaat
$mssg .= "Voornaam: " .$_POST['naam1'] . "\n";
$mssg .= "Achternaam: " .$_POST['naam2'] . "\n";
$mssg .= "Telefoon: " .$_POST['telefoon'] . "\n";
$mssg .= "E-mailadres: " .$_POST['mail'] . "\n";
$mssg .= "Onderwerp: " .$_POST['onderwerp'] . "\n";
$mssg .= "Wilt u mij bellen over: \n";
$mssg .= "*Informatie Tarot Kaartleggen: " .$kaartleggen . "\n";
$mssg .= "*Informatie Orakel Snuffelen: " .$orakel . "\n";
$mssg .= "*Tenen lezen Online: " .$tenen . "\n";
$mssg .= "*Coaching: " .$coaching . "\n";
$mssg .= "*Individuele Workshop: " .$individueel . "\n";
$mssg .= "Voorkeur voor tijdstip: " .$tijdstip . "\n";
$mssg .= "Bericht:" . "\n";
$mssg .= $_POST['bericht'] . "\n" . "\n";
$mssg .= 'Dit bericht is verstuurd op'. date("d.m.Y H:i") .' van het ip adres ' . $ip . '.';
//Afzender
$headers = "From: " . $_POST['naam1'] . $_POST['naam2'] . " <" . $_POST['mail'] . ">"; // is onvolledige headers
mail ($mailsupport, $titel, $mssg, $headers); // kijk liever naar phpmailer/swiftmailer
// header ("Refresh: 0; URL=verzonden.php");
header('Location: http://www.example.com/location.php');
exit;
}
}
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if (empty($_POST['naam1']) or empty($_POST['naam2']) or empty($_POST['mail']) or empty($_POST['onderwerp']) or empty($_POST['bericht'])) {
//Validatie
/** Validate naam1 */
$naam1Pattern = '~^[a-z .\'-]+$~Di';
if ( !isset( $_POST['naam1'] ) or !preg_match( $naam1Pattern, $_POST['naam1'] ) )
{
echo "De voornaam is niet geldig!<br> \n";
}
/** Validate naam2 */
$naam2Pattern = '~^[a-z .\'-]+$~Di'; // waarom aanmaken? Kun je toch ook controleren met $naam1Pattern? Is zelfde.
if ( !isset( $_POST['naam2'] ) or !preg_match( $naam2Pattern, $_POST['naam2'] ) )
{
echo "De achternaam is niet geldig!<br> \n";
}
/** Validate e-mail address */
$mailPattern = '~^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$~Di';
if ( !isset( $_POST['mail'] ) or !preg_match( $mailPattern, $_POST['mail'] ) )
{
echo "Het e-mailadres is niet geldig!<br> \n";
}
/** Validate onderwerp */
$onderwerpPattern = '~^[a-z .\'-]+$~Di'; // waarom aanmaken? Kun je toch ook controleren met $naam1Pattern? Is zelfde.
if ( !isset( $_POST['onderwerp'] ) or !preg_match( $onderwerpPattern, $_POST['onderwerp'] ) )
{
echo "Het onderwerp is niet geldig!<br> \n";
}
/** Validate bericht */
if ( !isset( $_POST['bericht'] ) or strlen(trim($_POST['bericht'])) < 5)
{
echo "Het bericht moet minimaal 5 tekens lang zijn!<br><br> \n\n";
}
echo 'Sorry, maar helaas ben u iets vergeten, of heeft u iets verkeerd ingevuld!!<br><br>\n';
echo '<button type="button" onclick="history.go(-1);">Terug naar formulier</button>';
}
else{
// set datum
// $datum = date("d.m.Y H:i"); // deze variabele hoef je niet aan te maken.
// set ip
$ip = $_SERVER['REMOTE_ADDR']; // deze variabele hoef je niet aan te maken.
if (isset ($_POST['kaartleggen']))
{
$kaartleggen="Ja, wel informatie";
}
else
{
$kaartleggen="Nee, geen informatie";
}
if (isset ($_POST['orakel']))
{
$orakel="Ja, wel informatie";
}
else
{
$orakel="Nee, geen informatie";
}
if (isset ($_POST['tenen']))
{
$tenen="Ja, wel informatie";
}
else
{
$tenen="Nee, geen informatie";
}
if (isset ($_POST['coaching']))
{
$coaching="Ja, wel informatie";
}
else
{
$coaching="Nee, geen informatie";
}
if (isset ($_POST['individueel']))
{
$individueel="Ja, wel informatie";
}
else
{
$individueel="Nee, geen informatie";
}
// Bericht
$mailsupport= "[email protected]";
$titel= "mijn domeinnaam - " . $_POST['onderwerp'];
$mssg .= "Ingevuld Contact Formulier \n\n"; // zal een foutmelding kunnen geven, omdat $mssg nog niet bestaat
$mssg .= "Voornaam: " .$_POST['naam1'] . "\n";
$mssg .= "Achternaam: " .$_POST['naam2'] . "\n";
$mssg .= "Telefoon: " .$_POST['telefoon'] . "\n";
$mssg .= "E-mailadres: " .$_POST['mail'] . "\n";
$mssg .= "Onderwerp: " .$_POST['onderwerp'] . "\n";
$mssg .= "Wilt u mij bellen over: \n";
$mssg .= "*Informatie Tarot Kaartleggen: " .$kaartleggen . "\n";
$mssg .= "*Informatie Orakel Snuffelen: " .$orakel . "\n";
$mssg .= "*Tenen lezen Online: " .$tenen . "\n";
$mssg .= "*Coaching: " .$coaching . "\n";
$mssg .= "*Individuele Workshop: " .$individueel . "\n";
$mssg .= "Voorkeur voor tijdstip: " .$tijdstip . "\n";
$mssg .= "Bericht:" . "\n";
$mssg .= $_POST['bericht'] . "\n" . "\n";
$mssg .= 'Dit bericht is verstuurd op'. date("d.m.Y H:i") .' van het ip adres ' . $ip . '.';
//Afzender
$headers = "From: " . $_POST['naam1'] . $_POST['naam2'] . " <" . $_POST['mail'] . ">"; // is onvolledige headers
mail ($mailsupport, $titel, $mssg, $headers); // kijk liever naar phpmailer/swiftmailer
// header ("Refresh: 0; URL=verzonden.php");
header('Location: http://www.example.com/location.php');
exit;
}
}
?>
Overigens zonder de illusie te hebben dat ik alles netjes heb gemaakt.
Gewijzigd op 10/08/2012 17:11:10 door Bas IJzelendoorn
Klopt ook wel denk ik want het patroon is niet veranderd, hij moet niet toestaan om een spatie te geven, dan moet de foutmelding blijven staan..?
Is maar een idee van mij hoor...?
Kijk hier eens na. Ik kan je geen uitleg geven van de code. Dit omdat ik de ballen snap van preg_match.
Denk dat ik de hoop op een goed werkend script maar langzaam moet gaan opzeggen, nu de hele dag er al mee bezig geweest en zit aardig vast nu.
Ik zal het eens beetje proberen uit te zoeken met die preg_match gedoe.
Ik snap er de ballen van zelf namelijk.
Hoop niet opgeven, vandaag of morgen komt er iemand met het juiste antwoord voor jou.
Haal deze regel eens weg of maak er isset() van:
if (empty($_POST['naam1']) or empty($_POST['naam2']) or empty($_POST['mail']) or empty($_POST['onderwerp']) or empty($_POST['bericht'])) {
Toevoeging op 07/08/2012 21:44:28:
Alle validaties kloppen van geen meter.
Ik heb overal één spatie ingezet en dit is het resultaat:
Het e-mailadres is niet geldig!
Het bericht moet minimaal 5 tekens lang zijn!
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
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
<?php
$_POST['naam1'] = ' ';
$_POST['naam2'] = ' ';
$_POST['mail'] = ' ';
$_POST['onderwerp'] = ' ';
$_POST['bericht'] = ' ';
/** Validate naam1 */
$naam1Pattern = '~^[a-z .\'-]+$~Di';
if ( !isset( $_POST['naam1'] ) or !preg_match( $naam1Pattern, $_POST['naam1'] ) )
{
echo "De voornaam is niet geldig!<br> \n";
}
/** Validate naam2 */
$naam2Pattern = '~^[a-z .\'-]+$~Di'; // waarom aanmaken? Kun je toch ook controleren met $naam1Pattern? Is zelfde.
if ( !isset( $_POST['naam2'] ) or !preg_match( $naam2Pattern, $_POST['naam2'] ) )
{
echo "De achternaam is niet geldig!<br> \n";
}
/** Validate e-mail address */
$mailPattern = '~^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$~Di';
if ( !isset( $_POST['mail'] ) or !preg_match( $mailPattern, $_POST['mail'] ) )
{
echo "Het e-mailadres is niet geldig!<br> \n";
}
/** Validate onderwerp */
$onderwerpPattern = '~^[a-z .\'-]+$~Di'; // waarom aanmaken? Kun je toch ook controleren met $naam1Pattern? Is zelfde.
if ( !isset( $_POST['onderwerp'] ) or !preg_match( $onderwerpPattern, $_POST['onderwerp'] ) )
{
echo "Het onderwerp is niet geldig!<br> \n";
}
/** Validate bericht */
if ( !isset( $_POST['bericht'] ) or strlen(trim($_POST['bericht'])) < 5)
{
echo "Het bericht moet minimaal 5 tekens lang zijn!<br><br> \n\n";
}
?>
$_POST['naam1'] = ' ';
$_POST['naam2'] = ' ';
$_POST['mail'] = ' ';
$_POST['onderwerp'] = ' ';
$_POST['bericht'] = ' ';
/** Validate naam1 */
$naam1Pattern = '~^[a-z .\'-]+$~Di';
if ( !isset( $_POST['naam1'] ) or !preg_match( $naam1Pattern, $_POST['naam1'] ) )
{
echo "De voornaam is niet geldig!<br> \n";
}
/** Validate naam2 */
$naam2Pattern = '~^[a-z .\'-]+$~Di'; // waarom aanmaken? Kun je toch ook controleren met $naam1Pattern? Is zelfde.
if ( !isset( $_POST['naam2'] ) or !preg_match( $naam2Pattern, $_POST['naam2'] ) )
{
echo "De achternaam is niet geldig!<br> \n";
}
/** Validate e-mail address */
$mailPattern = '~^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$~Di';
if ( !isset( $_POST['mail'] ) or !preg_match( $mailPattern, $_POST['mail'] ) )
{
echo "Het e-mailadres is niet geldig!<br> \n";
}
/** Validate onderwerp */
$onderwerpPattern = '~^[a-z .\'-]+$~Di'; // waarom aanmaken? Kun je toch ook controleren met $naam1Pattern? Is zelfde.
if ( !isset( $_POST['onderwerp'] ) or !preg_match( $onderwerpPattern, $_POST['onderwerp'] ) )
{
echo "Het onderwerp is niet geldig!<br> \n";
}
/** Validate bericht */
if ( !isset( $_POST['bericht'] ) or strlen(trim($_POST['bericht'])) < 5)
{
echo "Het bericht moet minimaal 5 tekens lang zijn!<br><br> \n\n";
}
?>
Toevoeging op 07/08/2012 21:50:16:
Tevens wordt dit emailadres goedgekeurd: [email protected]
Toevoeging op 07/08/2012 21:52:53:
Het komt er dus op neer dat juist die $_POST['bericht'] de enige is die het een beetje goed doet.
Gewijzigd op 07/08/2012 21:44:57 door - SanThe -
Gewijzigd op 08/08/2012 08:45:20 door Spider Finder
Quote:
Returns FALSE if var exists and has a non-empty, non-zero value. Otherwise returns TRUE.
The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
Een spatie wordt niet gezien als empty --> dus zoals SanThe aangeeft klopt de hele controle niet. Oplossing van SanThe dus toepassen.
Toevoeging op 07/08/2012 21:57:00:
naam verwijderd op 07/08/2012 21:53:13:
Tja, waarom denk je dat ik hulp vraag, om te horen dat het niet klopt...? Heb niets aan je reactie op deze manier, heb al aangegeven dat ik een leek ben, daarom zoek ik hulp op deze site...?
Die krijg je toch?!?!???? Kom op zeg.
Gewijzigd op 10/08/2012 17:32:39 door Bas IJzelendoorn
Sorry hoor. Ik stop hier mijn tijd in om de oorzaak te vinden van het probleem. En nu ik dat gevonden heb lijkt het mij redelijk dat ik dat hier vermeld zodat de rest van de helpers niet verder hoeft te zoeken. Maar als dat niet okee is dan zoek je het toch lekker zelf uit.
Gewijzigd op 08/08/2012 08:46:12 door Spider Finder
Maar zand erover.
Vertel eens wat de eisen zijn voor de velden.
Dus:
Voornaam: welke chars wil je toestaan en minimaal hoelang?
Idem voor de rest.
Het is alleen jammer dat je elke keer op zo'n manier reageert. Vervelend dat het je niet lukt, maar volgens mij wordt (/werd) er druk met je meegedacht om een oplossing te vinden. En SanThe heeft volgens mij de uiteindelijke oplossing ook gevonden (en gegeven). Ik geef nog een keer een uitleg er bij. En het enige wat jij kunt doen is negatief reageren.
Beetje jammer en zonde van mijn tijd.
Succes verder, ik ga mensen proberen te helpen die het wel waarderen....
Voornaam: Geen spaties in het begin (als het kan) anders helemaal geen spaties toestaan verder alleen letters, lengte normaal (kies maar wat gebruikelijk is).
Achternaam: Idem als voornaam
Telefoonnummer: alleen cijfers en het - teken
E-mail: de standaard (die weet ik niet betreft tekens)
Onderwerp: Hetzelfde als voornaam denk ik, lengte normaal
Bericht: Geen spaties in het begin en ongeveer 200 tekens? denk ik
Voor de rest maakt het niet zo veel uit als hij maar niet door de foutmeldingen heen loopt.
Heb hem nu in een iFrame gezet, omdat ik dan het formulier en de foutmeldingen in een venster heb op de zelfde pagina en heb er de standaard pagina eromheen gemaakt.
Het script wat ik eerder heb gepost was oke, alleen niet de validate, dus ik ben al blij met een goede validatie en check of het empty is, denk ik....
Nogmaals sorry en bedankt alvast.
Gewijzigd op 10/08/2012 17:31:22 door Bas IJzelendoorn
Let op het commentaar op de ######### regels #########
Daar moet nog wel wat aan gedaan worden. Verder moet je zelf de diverse $length aanpassen naar de waarde die jij wilt hebben. Ook kun je eventueel de patterns voor de preg_match() aanpassen.
Het script geeft hier geen fouten.
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function checkemail($email)
{
// Kijk of er een @ in zit, zo nee false
if(!stristr($email, '@'))
{
return false;
}
$email_split = explode("@", $email);
// Er mag slecht één @ inzitten dus het array moet 2 records tellen
if(count($email_split) != 2)
{
return false;
}
$email_user = $email_split[0];
$email_host = $email_split[1];
// Kijk of er MX-servers zijn, zo nee false
if(!getmxrr($email_host, $var))
{
return false;
}
// Kijk of het usergedeelte okee is, zo nee false
if(!preg_match("/^[0-9a-z]([-_.~]?[0-9a-z])*$/i", $email_user))
{
return false;
}
return true;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
//Validatie
$errors = array();
/** Validate naam1 */
$length = 2;
$naam1 = (isset($_POST['naam1'])) ? trim($_POST['naam1']) : '';
$naam1Pattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($naam1 == '') or !(strlen($naam1) >= $length and preg_match($naam1Pattern, $naam1)))
{
$errors[] = "De voornaam is niet geldig!<br> \n";
}
/** Validate naam2 */
$length = 5;
$naam2 = (isset($_POST['naam2'])) ? trim($_POST['naam2']) : '';
$naam2Pattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($naam2 == '') or !(strlen($naam2) >= $length and preg_match($naam2Pattern, $naam2)))
{
$errors[] = "De achternaam is niet geldig!<br> \n";
}
/** Validate e-mail address */
$mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : '';
if(!checkemail($mail))
{
$errors[] = "Het e-mailadres is niet geldig!<br> \n";
}
/** Validate onderwerp */
$length = 5;
$onderwerp = (isset($_POST['onderwerp'])) ? trim($_POST['onderwerp']) : '';
$onderwerpPattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($onderwerp == '') or !(strlen($onderwerp) >= $length and preg_match($onderwerpPattern, $onderwerp)))
{
$errors[] = "Het onderwerp is niet geldig!<br> \n";
}
/** Validate telefoon */
$telefoon = (isset($_POST['telefoon'])) ? trim($_POST['telefoon']) : '';
$telefoonPattern = '/^[0-9\-]+$/';
if(($telefoon == '') or !(preg_match($telefoonPattern, $telefoon)))
{
$errors[] = "Het telefoonnummer is niet geldig!<br> \n";
}
/** Validate bericht */
$length = 5;
$bericht = (isset($_POST['bericht'])) ? trim($_POST['bericht']) : '';
if(($bericht == '') or (strlen($bericht) < $length))
{
$errors[] = "Het bericht moet minimaal " . $length . " tekens lang zijn!<br>\n\n";
}
if(count($errors) > 0)
{
foreach($errors as $line)
{
echo $line;
}
echo '<br>Sorry, maar helaas ben u iets vergeten, of heeft u iets verkeerd ingevuld!!<br><br>';
echo '<button type="button" onclick="history.go(-1);">Terug naar formulier</button>';
}
else
{
$kaartleggen = (isset($_POST['kaartleggen'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$orakel = (isset($_POST['orakel'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$tenen = (isset($_POST['tenen'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$coaching = (isset($_POST['coaching'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$individueel = (isset($_POST['individueel'])) ? "Ja, wel informatie" : "Nee, geen informatie";
// Bericht
$mailsupport= "[email protected]";
$titel= "mijn domeinnaam - " . $onderwerp;
$mssg = "Ingevuld Contact Formulier \n\n";
$mssg .= "Voornaam: " .$naam1 . "\n";
$mssg .= "Achternaam: " .$naam2 . "\n";
$mssg .= "Telefoon: " .$telefoon . "\n";
$mssg .= "E-mailadres: " .$mail . "\n";
$mssg .= "Onderwerp: " .$onderwerp . "\n";
$mssg .= "Wilt u mij bellen over: \n";
$mssg .= "*Informatie Tarot Kaartleggen: " .$kaartleggen . "\n";
$mssg .= "*Informatie Orakel Snuffelen: " .$orakel . "\n";
$mssg .= "*Tenen lezen Online: " .$tenen . "\n";
$mssg .= "*Coaching: " .$coaching . "\n";
$mssg .= "*Individuele Workshop: " .$individueel . "\n";
################ tijdstip bestaat niet ######################################
// $mssg .= "Voorkeur voor tijdstip: " .$tijdstip . "\n";
$mssg .= "Bericht:" . "\n";
$mssg .= htmlentities($bericht) . "\n\n";
$mssg .= 'Dit bericht is verstuurd op'. date("d.m.Y H:i") .' van het ip adres ' . $_SERVER['REMOTE_ADDR'] . '.';
//Afzender
############################ headers zijn NIET correct #######################
$headers = "From: " . $naam1 .' '. $naam2 . " <" . $mail . ">";
####################### kijk liever naar phpmailer/swiftmailer ###############
mail($mailsupport, $titel, $mssg, $headers);
header('Location: http://www.example.com/location.php');
exit();
}
}
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function checkemail($email)
{
// Kijk of er een @ in zit, zo nee false
if(!stristr($email, '@'))
{
return false;
}
$email_split = explode("@", $email);
// Er mag slecht één @ inzitten dus het array moet 2 records tellen
if(count($email_split) != 2)
{
return false;
}
$email_user = $email_split[0];
$email_host = $email_split[1];
// Kijk of er MX-servers zijn, zo nee false
if(!getmxrr($email_host, $var))
{
return false;
}
// Kijk of het usergedeelte okee is, zo nee false
if(!preg_match("/^[0-9a-z]([-_.~]?[0-9a-z])*$/i", $email_user))
{
return false;
}
return true;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
//Validatie
$errors = array();
/** Validate naam1 */
$length = 2;
$naam1 = (isset($_POST['naam1'])) ? trim($_POST['naam1']) : '';
$naam1Pattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($naam1 == '') or !(strlen($naam1) >= $length and preg_match($naam1Pattern, $naam1)))
{
$errors[] = "De voornaam is niet geldig!<br> \n";
}
/** Validate naam2 */
$length = 5;
$naam2 = (isset($_POST['naam2'])) ? trim($_POST['naam2']) : '';
$naam2Pattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($naam2 == '') or !(strlen($naam2) >= $length and preg_match($naam2Pattern, $naam2)))
{
$errors[] = "De achternaam is niet geldig!<br> \n";
}
/** Validate e-mail address */
$mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : '';
if(!checkemail($mail))
{
$errors[] = "Het e-mailadres is niet geldig!<br> \n";
}
/** Validate onderwerp */
$length = 5;
$onderwerp = (isset($_POST['onderwerp'])) ? trim($_POST['onderwerp']) : '';
$onderwerpPattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($onderwerp == '') or !(strlen($onderwerp) >= $length and preg_match($onderwerpPattern, $onderwerp)))
{
$errors[] = "Het onderwerp is niet geldig!<br> \n";
}
/** Validate telefoon */
$telefoon = (isset($_POST['telefoon'])) ? trim($_POST['telefoon']) : '';
$telefoonPattern = '/^[0-9\-]+$/';
if(($telefoon == '') or !(preg_match($telefoonPattern, $telefoon)))
{
$errors[] = "Het telefoonnummer is niet geldig!<br> \n";
}
/** Validate bericht */
$length = 5;
$bericht = (isset($_POST['bericht'])) ? trim($_POST['bericht']) : '';
if(($bericht == '') or (strlen($bericht) < $length))
{
$errors[] = "Het bericht moet minimaal " . $length . " tekens lang zijn!<br>\n\n";
}
if(count($errors) > 0)
{
foreach($errors as $line)
{
echo $line;
}
echo '<br>Sorry, maar helaas ben u iets vergeten, of heeft u iets verkeerd ingevuld!!<br><br>';
echo '<button type="button" onclick="history.go(-1);">Terug naar formulier</button>';
}
else
{
$kaartleggen = (isset($_POST['kaartleggen'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$orakel = (isset($_POST['orakel'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$tenen = (isset($_POST['tenen'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$coaching = (isset($_POST['coaching'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$individueel = (isset($_POST['individueel'])) ? "Ja, wel informatie" : "Nee, geen informatie";
// Bericht
$mailsupport= "[email protected]";
$titel= "mijn domeinnaam - " . $onderwerp;
$mssg = "Ingevuld Contact Formulier \n\n";
$mssg .= "Voornaam: " .$naam1 . "\n";
$mssg .= "Achternaam: " .$naam2 . "\n";
$mssg .= "Telefoon: " .$telefoon . "\n";
$mssg .= "E-mailadres: " .$mail . "\n";
$mssg .= "Onderwerp: " .$onderwerp . "\n";
$mssg .= "Wilt u mij bellen over: \n";
$mssg .= "*Informatie Tarot Kaartleggen: " .$kaartleggen . "\n";
$mssg .= "*Informatie Orakel Snuffelen: " .$orakel . "\n";
$mssg .= "*Tenen lezen Online: " .$tenen . "\n";
$mssg .= "*Coaching: " .$coaching . "\n";
$mssg .= "*Individuele Workshop: " .$individueel . "\n";
################ tijdstip bestaat niet ######################################
// $mssg .= "Voorkeur voor tijdstip: " .$tijdstip . "\n";
$mssg .= "Bericht:" . "\n";
$mssg .= htmlentities($bericht) . "\n\n";
$mssg .= 'Dit bericht is verstuurd op'. date("d.m.Y H:i") .' van het ip adres ' . $_SERVER['REMOTE_ADDR'] . '.';
//Afzender
############################ headers zijn NIET correct #######################
$headers = "From: " . $naam1 .' '. $naam2 . " <" . $mail . ">";
####################### kijk liever naar phpmailer/swiftmailer ###############
mail($mailsupport, $titel, $mssg, $headers);
header('Location: http://www.example.com/location.php');
exit();
}
}
?>
Gewijzigd op 08/08/2012 00:11:55 door - SanThe -
Nog twee vragen?
Weet jij toevallig hoe ik in dit script kan aangeven of een veld verplicht is of niet?
Bij achternaam is bijvooorbeeld [naam verwijderd] niet mogelijk, als ik een veld toevoeg met voorvoegsel kan ik hier dan de spatie functie wel toe laten staan en zo ja wat voor teken staat hiervoor, haal ik deze uit de Pattern.
Nogmaals top en bedankt, Hulde..
Gewijzigd op 10/08/2012 17:29:30 door Bas IJzelendoorn
$naam1Pattern, $naam2Pattern en $onderwerpPattern ?
Obelix en Idefix op 08/08/2012 09:36:03:
@ SanThe: waarom maak je drie variabelen aan, die gelijk zijn?
$naam1Pattern, $naam2Pattern en $onderwerpPattern ?
$naam1Pattern, $naam2Pattern en $onderwerpPattern ?
Dan is het simpeler om specifieke wijzigingen aan te brengen per onderdeel. Het was voor mij een gok of dit in de wens van TS zou liggen of dat TS andere ideeën heeft. Vandaar drie aparte vars.
Gewijzigd op 08/08/2012 10:50:04 door - SanThe -
Ben nu aan het proberen om van telefoon geen verplicht veld te maken, bij mijn test heb ik de validatie eruit gehaald (natuurlijk het origineel goed bewaard), uiteraard zie ik dan de foutmelding niet meer, maar kan men ook alles intoetsen, weet je wellicht ook hoe een invoerveld verplicht of niet verplicht kan worden aangegeven, moet daarvoor een apart stuk erin gezet worden of kan je dit ook per onderdeel doen.
Ben nu aan het stoeien of ik bij achternaam alleen een spatie in het begin niet toesta.
Verder is het script waanzinnig!
Gewijzigd op 08/08/2012 11:22:20 door Spider Finder