$_POST uit variablen van database
Hun geven in een database in welke bradeërien of evenementen er op een datum zijn.
Deze geef ik weer op een pagina met dit stukje:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<table>
<?php
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
echo"<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td><input type=\"text\" name=\"kramen$listmarkten->id\" size=\"1\" maxlength=\"2\" /> kramen <input type=\"text\" name=\"meters$listmarkten->id\" size=\"1\" maxlength=\"2\" /> meters</td></tr>";
}
?>
</table>
<?php
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
echo"<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td><input type=\"text\" name=\"kramen$listmarkten->id\" size=\"1\" maxlength=\"2\" /> kramen <input type=\"text\" name=\"meters$listmarkten->id\" size=\"1\" maxlength=\"2\" /> meters</td></tr>";
}
?>
</table>
Dit is dan een volledig formulier wat er zo uit ziet:
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
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
Wilt U deelnemen aan de onderstaande markten vul dan dit inschrijfformulier en druk op verzend.<br />
<br />
Velden met <font color="#FF0000">*</font> zijn verplicht.<br>
<form action="index.php?p=inschrijven" method="post">
Naam: <font color="#FF0000">*</font><br />
<input type="text" name="naam"><br />
Straat: <font color="#FF0000">*</font><br />
<input type="text" name="straat" /><br />
Huisnummer: <font color="#FF0000">*</font><br />
<input type="text" name="huisnummer" /><br />
Postcode: <font color="#FF0000">*</font><br />
<input type="text" name="postcode1" size="2" maxlength="4"/><input type="text" name="postcode2" size="1" maxlength="2" /><br />
Woonplaats: <font color="#FF0000">*</font><br />
<input type="text" name="woonplaats" /><br />
Telefoon: <font color="#FF0000">*</font><br>
<input type="text" name="telefoon" /><br>
Mobiel: <font color="#FF0000">*</font><br>
<input type="text" name="mobiel" /><br>
KvK: <font color="#FF0000">*</font><br>
<input type="text" name="kvk" /><br>
Crk: <font color="#FF0000">*</font><br>
<input type="text" name="crk" /><br>
BTW: <font color="#FF0000">*</font><br>
<input type="text" name="btw" /><br>
Fax:<br>
<input type="text" name="fax" /><br>
Email: <font color="#FF0000">*</font><br>
<input type="text" name="email" /><br>
Branche: <font color="#FF0000">*</font><br>
<input type="text" name="branche" /><br>
<table>
<?php
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
echo"<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td><input type=\"text\" name=\"kramen$listmarkten->id\" size=\"1\" maxlength=\"2\" /> kramen <input type=\"text\" name=\"meters$listmarkten->id\" size=\"1\" maxlength=\"2\" /> meters</td></tr>";
}
?>
</table>
<input type="submit" value="Verzend" name="submit">
<br />
Velden met <font color="#FF0000">*</font> zijn verplicht.<br>
<form action="index.php?p=inschrijven" method="post">
Naam: <font color="#FF0000">*</font><br />
<input type="text" name="naam"><br />
Straat: <font color="#FF0000">*</font><br />
<input type="text" name="straat" /><br />
Huisnummer: <font color="#FF0000">*</font><br />
<input type="text" name="huisnummer" /><br />
Postcode: <font color="#FF0000">*</font><br />
<input type="text" name="postcode1" size="2" maxlength="4"/><input type="text" name="postcode2" size="1" maxlength="2" /><br />
Woonplaats: <font color="#FF0000">*</font><br />
<input type="text" name="woonplaats" /><br />
Telefoon: <font color="#FF0000">*</font><br>
<input type="text" name="telefoon" /><br>
Mobiel: <font color="#FF0000">*</font><br>
<input type="text" name="mobiel" /><br>
KvK: <font color="#FF0000">*</font><br>
<input type="text" name="kvk" /><br>
Crk: <font color="#FF0000">*</font><br>
<input type="text" name="crk" /><br>
BTW: <font color="#FF0000">*</font><br>
<input type="text" name="btw" /><br>
Fax:<br>
<input type="text" name="fax" /><br>
Email: <font color="#FF0000">*</font><br>
<input type="text" name="email" /><br>
Branche: <font color="#FF0000">*</font><br>
<input type="text" name="branche" /><br>
<table>
<?php
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
echo"<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td><input type=\"text\" name=\"kramen$listmarkten->id\" size=\"1\" maxlength=\"2\" /> kramen <input type=\"text\" name=\"meters$listmarkten->id\" size=\"1\" maxlength=\"2\" /> meters</td></tr>";
}
?>
</table>
<input type="submit" value="Verzend" name="submit">
Je ziet dat de naam van het text veld waar het aantal meters en/of kramen kan worden ignevuld word gemaakt met de naam meters/kramen(standaard)+het id van de braderie/markt
Dit wil ik dat opgestuurd word naar de evenementen organisatie maar hoe maak ik al die meters$listmarkten->id en kramen$listmarkten->id een $_POST['textnaam'] van.
Ik heb dit gedaan:
Code (php)
1
2
3
4
2
3
4
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
$markten .= "<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td>".$_POST['kramen$listmarkten->id']." kramen ".$_POST['meters$listmarkten->id']." meters</td></tr>";
}
while($listmarkten = mysql_fetch_object($selectmarkten)){
$markten .= "<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td>".$_POST['kramen$listmarkten->id']." kramen ".$_POST['meters$listmarkten->id']." meters</td></tr>";
}
Maar dit werkt niet, hoe los ik het op.
Dit is het Volledige script:
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
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
<h1>Inschrijven</h1>
<?php
if($_POST['submit']){
$naar = "[email protected]";
$headers = "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
function checkmail($email)
{
$email_host = explode("@", $email);
$email_host = $email_host[1];
$email_resolved = gethostbyname($email_host);
if($email_resolved == $email_host)
{
$valid = FALSE;
}
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{
$valid = TRUE;
}
else
{
$valid = FALSE;
}
return $valid;
}
if(!$_POST['naam']){
echo"U bent vergeten een naam in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['straat']){
echo"U bent vergeten een straat in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['huisnummer']){
echo"U bent vergeten een huisnummer in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['postcode1']){
echo"U bent een deel van u postcode vergeten in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['postcode2']){
echo"U bent een deel van u postcode vergeten in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['woonplaats']){
echo"U bent vergeten u woontplaats in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['telefoon']){
echo"U bent vergeten u telefoon in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['mobiel']){
echo"U bent vergeten u mobiel in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['kvk']){
echo"U bent vergeten u KvK nummer in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['crk']){
echo"U bent vergeten u Crk nummer in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['btw']){
echo"U bent vergeten u BTW nummer in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['email']){
echo"U bent vergeten u email in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(checkmail($_POST['email']) == 0){
echo"Vul een correct e-mail adres in, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['branche']){
echo"U bent vergeten u branche in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}else{
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
$markten .= "<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td>".$_POST['kramen$listmarkten->id']." kramen ".$_POST['meters$listmarkten->id']." meters</td></tr>";
}
mail("$naar", "Inschrijving", "Naam: ".$_POST['naam']."<br>
Adres: ".$_POST['straat']." ".$_POST['huisnummer']."<br>
Postcode: ".$_POST['postcode1']."".$_POST['postcode2']."<br>
Woonplaats: ".$_POST['woonplaats']."<br>
Telefoon: ".$_POST['telefoon']."<br>
Mobiel: ".$_POST['mobiel']."<br>
KvK: ".$_POST['kvk']."<br>
Crk: ".$_POST['crk']."<br>
BTW: ".$_POST['btw']."<br>
Fax: ".$_POST['fax']."<br>
Email: ".$_POST['email']."<br>
Branche: ".$_POST['branche']."<br>
<br>
<table>$markten</table>", "$headers");
echo"U inschrijving is succesvol verzonden.";
}
}else{
?>
Wilt U deelnemen aan de onderstaande markten vul dan dit inschrijfformulier en druk op verzend.<br />
<br />
Velden met <font color="#FF0000">*</font> zijn verplicht.<br>
<form action="index.php?p=inschrijven" method="post">
Naam: <font color="#FF0000">*</font><br />
<input type="text" name="naam"><br />
Straat: <font color="#FF0000">*</font><br />
<input type="text" name="straat" /><br />
Huisnummer: <font color="#FF0000">*</font><br />
<input type="text" name="huisnummer" /><br />
Postcode: <font color="#FF0000">*</font><br />
<input type="text" name="postcode1" size="2" maxlength="4"/><input type="text" name="postcode2" size="1" maxlength="2" /><br />
Woonplaats: <font color="#FF0000">*</font><br />
<input type="text" name="woonplaats" /><br />
Telefoon: <font color="#FF0000">*</font><br>
<input type="text" name="telefoon" /><br>
Mobiel: <font color="#FF0000">*</font><br>
<input type="text" name="mobiel" /><br>
KvK: <font color="#FF0000">*</font><br>
<input type="text" name="kvk" /><br>
Crk: <font color="#FF0000">*</font><br>
<input type="text" name="crk" /><br>
BTW: <font color="#FF0000">*</font><br>
<input type="text" name="btw" /><br>
Fax:<br>
<input type="text" name="fax" /><br>
Email: <font color="#FF0000">*</font><br>
<input type="text" name="email" /><br>
Branche: <font color="#FF0000">*</font><br>
<input type="text" name="branche" /><br>
<table>
<?php
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
echo"<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td><input type=\"text\" name=\"kramen$listmarkten->id\" size=\"1\" maxlength=\"2\" /> kramen <input type=\"text\" name=\"meters$listmarkten->id\" size=\"1\" maxlength=\"2\" /> meters</td></tr>";
}
?>
</table>
<input type="submit" value="Verzend" name="submit">
<?php
}
?>
<?php
if($_POST['submit']){
$naar = "[email protected]";
$headers = "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
function checkmail($email)
{
$email_host = explode("@", $email);
$email_host = $email_host[1];
$email_resolved = gethostbyname($email_host);
if($email_resolved == $email_host)
{
$valid = FALSE;
}
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{
$valid = TRUE;
}
else
{
$valid = FALSE;
}
return $valid;
}
if(!$_POST['naam']){
echo"U bent vergeten een naam in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['straat']){
echo"U bent vergeten een straat in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['huisnummer']){
echo"U bent vergeten een huisnummer in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['postcode1']){
echo"U bent een deel van u postcode vergeten in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['postcode2']){
echo"U bent een deel van u postcode vergeten in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['woonplaats']){
echo"U bent vergeten u woontplaats in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['telefoon']){
echo"U bent vergeten u telefoon in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['mobiel']){
echo"U bent vergeten u mobiel in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['kvk']){
echo"U bent vergeten u KvK nummer in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['crk']){
echo"U bent vergeten u Crk nummer in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['btw']){
echo"U bent vergeten u BTW nummer in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['email']){
echo"U bent vergeten u email in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(checkmail($_POST['email']) == 0){
echo"Vul een correct e-mail adres in, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}elseif(!$_POST['branche']){
echo"U bent vergeten u branche in te vullen, <a href=\"#\" onclick=\"history.back()\">ga terug</a>.";
}else{
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
$markten .= "<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td>".$_POST['kramen$listmarkten->id']." kramen ".$_POST['meters$listmarkten->id']." meters</td></tr>";
}
mail("$naar", "Inschrijving", "Naam: ".$_POST['naam']."<br>
Adres: ".$_POST['straat']." ".$_POST['huisnummer']."<br>
Postcode: ".$_POST['postcode1']."".$_POST['postcode2']."<br>
Woonplaats: ".$_POST['woonplaats']."<br>
Telefoon: ".$_POST['telefoon']."<br>
Mobiel: ".$_POST['mobiel']."<br>
KvK: ".$_POST['kvk']."<br>
Crk: ".$_POST['crk']."<br>
BTW: ".$_POST['btw']."<br>
Fax: ".$_POST['fax']."<br>
Email: ".$_POST['email']."<br>
Branche: ".$_POST['branche']."<br>
<br>
<table>$markten</table>", "$headers");
echo"U inschrijving is succesvol verzonden.";
}
}else{
?>
Wilt U deelnemen aan de onderstaande markten vul dan dit inschrijfformulier en druk op verzend.<br />
<br />
Velden met <font color="#FF0000">*</font> zijn verplicht.<br>
<form action="index.php?p=inschrijven" method="post">
Naam: <font color="#FF0000">*</font><br />
<input type="text" name="naam"><br />
Straat: <font color="#FF0000">*</font><br />
<input type="text" name="straat" /><br />
Huisnummer: <font color="#FF0000">*</font><br />
<input type="text" name="huisnummer" /><br />
Postcode: <font color="#FF0000">*</font><br />
<input type="text" name="postcode1" size="2" maxlength="4"/><input type="text" name="postcode2" size="1" maxlength="2" /><br />
Woonplaats: <font color="#FF0000">*</font><br />
<input type="text" name="woonplaats" /><br />
Telefoon: <font color="#FF0000">*</font><br>
<input type="text" name="telefoon" /><br>
Mobiel: <font color="#FF0000">*</font><br>
<input type="text" name="mobiel" /><br>
KvK: <font color="#FF0000">*</font><br>
<input type="text" name="kvk" /><br>
Crk: <font color="#FF0000">*</font><br>
<input type="text" name="crk" /><br>
BTW: <font color="#FF0000">*</font><br>
<input type="text" name="btw" /><br>
Fax:<br>
<input type="text" name="fax" /><br>
Email: <font color="#FF0000">*</font><br>
<input type="text" name="email" /><br>
Branche: <font color="#FF0000">*</font><br>
<input type="text" name="branche" /><br>
<table>
<?php
$selectmarkten = mysql_query("SELECT *,DATE_FORMAT(datum, '%d-%m-%Y') AS date FROM `markten` ORDER BY `datum` ASC")or die(mysql_error());
while($listmarkten = mysql_fetch_object($selectmarkten)){
echo"<tr><td>$listmarkten->dag</td><td>$listmarkten->date</td><td>$listmarkten->markt</td><td>$listmarkten->omschrijving</td><td>$listmarkten->tijd</td><td><input type=\"text\" name=\"kramen$listmarkten->id\" size=\"1\" maxlength=\"2\" /> kramen <input type=\"text\" name=\"meters$listmarkten->id\" size=\"1\" maxlength=\"2\" /> meters</td></tr>";
}
?>
</table>
<input type="submit" value="Verzend" name="submit">
<?php
}
?>
Wil je het emailen of in een database zetten?
mail injections. Eregi is oud, preg_match gebruik je nu.
Sterretje (*) moet je niet gebruiken om data op te halen uit je database. Je moet geen backtricks (`) in je sql gebruiken. Je kunt beter assoc gebruiken ipv object. Je moet variable buiten quotes halen. Controleren of een formulier gepost is doe je met REQUEST_METHOD. Je hebt