Waarom zie ik de eerste "echo" vanwege leeg veld niet?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if (isset($_POST['submit'])) {
if ($voornaam == "") {
echo "fout1!<br/>";
} else if ($achternaam == "") {
echo "fout2!<br/>";
} else if ($adres == "") {
echo "fout3!<br/>";
} else if ($netadres == "") {
echo "fout4!<br/>";
} else if (($aanhef = "alia") && ($aanhef1 = "")) {
echo "fout5!<br/>";
} else {bewerking van ingevoerde gegevens en mail naar mij}
?>
if (isset($_POST['submit'])) {
if ($voornaam == "") {
echo "fout1!<br/>";
} else if ($achternaam == "") {
echo "fout2!<br/>";
} else if ($adres == "") {
echo "fout3!<br/>";
} else if ($netadres == "") {
echo "fout4!<br/>";
} else if (($aanhef = "alia") && ($aanhef1 = "")) {
echo "fout5!<br/>";
} else {bewerking van ingevoerde gegevens en mail naar mij}
?>
Dan volgt het formulier in HTML met bovenstaande velden, te verzenden naar compleet.php
Als ik niets invul in het formulier en meteen naar compleet.php post, krijg ik vermelding van fout4, terwijl ik volgens mij vermelding van fout 1 zou moeten krijgen, want $voornaam == "".
Ik ben geen beginneling, maar gebruik php-html voor mijn taal Esperanto.
Kan iemand mij alsjeblieft helpen?
Gewijzigd op 17/06/2015 16:33:36 door Johan Derks
Waar komt $voornaam vandaan?
$voornaam is ingevuld (of niet, dan blijft het leeg) in het html-gedeelte van het script.
Maar waar komt die variabele dan vandaan? Waar maak je die aan?
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
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
<form name="personalia" method="post" action="compleet.php">
<table width="70%">
<tr>
<td width="15%">Persona nomo <font size="-4">aŭ nur ties unua litero</font>: </td>
<td colspan="2"><input type="text" name="voornaam" /></td>
</tr>
<tr>
<td>Familia nomo: </td>
<td colspan="2"><input type="text" name="achternaam" /></td>
</tr>
<tr>
<td align="right"><font size="-2">Sur la koverto metu mian personan nomon</font></td>
<td align="center" width="10%"><select name="volgorde" size="2">
<option value="0" selected="selected"> antaŭ</option>
<option value="1"> malantaŭ</option>
</select></td>
<td width="10%"><font size="-2">la familia nomo.</font></td>
</tr>
<tr>
<td valign="middle">Kiu titolo?</td>
<td colspan="2"><select name="aanhef" size="5">
<option value='0' selected="selected">neniu</option>
<option value='f-ino'>f-ino</option>
<option value='s-ino'>s-ino</option>
<option value='s-ro'>s-ro</option>
<option value='alia'>alia titolo ĉi-sube</option>
</select></td>
</tr>
<tr>
<td align="right"><font size="-2">Alia kompleta titolo</font></td><td colspan="2"><input type="text" name="aanhef1" /></td>
</tr>
<tr>
<td align="right"><font size="-2">Kompleta alnomo (plus titolo)<br/>por koverto al alia persono,<br/>se vi volas pagi por li/ŝi: </font></td>
<td colspan="2"><textarea name="alternativaricevantonomo" cols="30" rows="5" wrap="on"></textarea></td>
</tr>
<tr>
<td>Adreso de abonanto: </td>
<td ><input type="text" name="adres" /></td>
</tr>
<tr>
<td>2a linio por adreso: </td>
<td ><input type="text" name="adres1" /></td>
</tr>
<tr>
<td>Loknomo: </td>
<td ><input type="text" name="plaats" /></td>
</tr>
<tr>
<td>2a linio por loknomo: </td>
<td ><input type="text" name="plaats1" /></td>
</tr>
<tr>
<td>Poŝtkodo: </td>
<td ><input type="text" name="postcode" /></td>
</tr>
<tr>
<td>Lando: </td>
<td ><input type="text" name="land" /></td>
</tr>
<tr>
<td>Numero de fiksa telefono: </td>
<td ><input type="text" name="huistel" /></td>
</tr>
<tr>
<td>Numero de poŝtelefono: </td>
<td ><input type="text" name="zaktel" /></td>
</tr>
<tr>
<td>Retpoŝtadreso: </td>
<td ><input type="text" name="netadres" /></td>
</tr>
</table>
<p></p>
<input type="reset" value="Rekomencigu" /> <input type="submit" value="Sendu" />
</form>
<table width="70%">
<tr>
<td width="15%">Persona nomo <font size="-4">aŭ nur ties unua litero</font>: </td>
<td colspan="2"><input type="text" name="voornaam" /></td>
</tr>
<tr>
<td>Familia nomo: </td>
<td colspan="2"><input type="text" name="achternaam" /></td>
</tr>
<tr>
<td align="right"><font size="-2">Sur la koverto metu mian personan nomon</font></td>
<td align="center" width="10%"><select name="volgorde" size="2">
<option value="0" selected="selected"> antaŭ</option>
<option value="1"> malantaŭ</option>
</select></td>
<td width="10%"><font size="-2">la familia nomo.</font></td>
</tr>
<tr>
<td valign="middle">Kiu titolo?</td>
<td colspan="2"><select name="aanhef" size="5">
<option value='0' selected="selected">neniu</option>
<option value='f-ino'>f-ino</option>
<option value='s-ino'>s-ino</option>
<option value='s-ro'>s-ro</option>
<option value='alia'>alia titolo ĉi-sube</option>
</select></td>
</tr>
<tr>
<td align="right"><font size="-2">Alia kompleta titolo</font></td><td colspan="2"><input type="text" name="aanhef1" /></td>
</tr>
<tr>
<td align="right"><font size="-2">Kompleta alnomo (plus titolo)<br/>por koverto al alia persono,<br/>se vi volas pagi por li/ŝi: </font></td>
<td colspan="2"><textarea name="alternativaricevantonomo" cols="30" rows="5" wrap="on"></textarea></td>
</tr>
<tr>
<td>Adreso de abonanto: </td>
<td ><input type="text" name="adres" /></td>
</tr>
<tr>
<td>2a linio por adreso: </td>
<td ><input type="text" name="adres1" /></td>
</tr>
<tr>
<td>Loknomo: </td>
<td ><input type="text" name="plaats" /></td>
</tr>
<tr>
<td>2a linio por loknomo: </td>
<td ><input type="text" name="plaats1" /></td>
</tr>
<tr>
<td>Poŝtkodo: </td>
<td ><input type="text" name="postcode" /></td>
</tr>
<tr>
<td>Lando: </td>
<td ><input type="text" name="land" /></td>
</tr>
<tr>
<td>Numero de fiksa telefono: </td>
<td ><input type="text" name="huistel" /></td>
</tr>
<tr>
<td>Numero de poŝtelefono: </td>
<td ><input type="text" name="zaktel" /></td>
</tr>
<tr>
<td>Retpoŝtadreso: </td>
<td ><input type="text" name="netadres" /></td>
</tr>
</table>
<p></p>
<input type="reset" value="Rekomencigu" /> <input type="submit" value="Sendu" />
</form>
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 17/06/2015 17:25:02 door - Ariën -
Alle waarden zitten in het $_POST-array().
Op regel 11 staan toekenningen en geen vergelijkingen. (= is niet ==)
Het klopt ook, dat alles al in het $_POST-array staat, want vooraan het php-gedeelte staat:
foreach ($_POST as $key => $value) {$inhoud .= "$key: $value\n";}; print $inhoud;, met resultaat:
voornaam: achternaam: volgorde: 0 aanhef: 0 aanhef1: alternativaricevantonomo: adres: adres1: plaats: plaats1: postcode: land: huistel: zaktel: netadres: Vi ne plenigis vian retpo?tadreson!
Maar waar komt die melding "Vi ne plenigis vian retpo?tadreson!" (fout 4, zie mijn eerste bericht) vandaan?
In Firefox is de interface voor gebruik van Firebug veranderd. Ik snap niet meer, hoe ik daar de fout misschien mee op kan sporen. En ook niet hoe ik ijn cache (zo heet dat toch?) leeg moet maken.
Gewijzigd op 17/06/2015 17:12:18 door Johan Derks
Maar gebruik je die?
Nee..
Wat je kan doen (al is het niet handig!):
Maar wat als $_POST['id'] en $_GET['id'] beide geset zijn?
Gewoon $_POST['voornaam'] gebruiken!
Ik begrijp daar uit, dat netadres geset is, ook al heb ik het formulier niet verstuurd!
rarara !
Toevoeging op 17/06/2015 17:39:56:
Ik stuur nu maar het hele script op, met excuses voor het Esperanto !
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<?php ini_set('display_errors',1);
error_reporting(E_ALL&~E_NOTICE);
foreach ($_POST as $key => $value) {$$key = $value;};
$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
$voornaam = $_POST['voornaam'];
$achternaam = $_POST['achternaam'];
$volgorde = $_POST['volgorde'];
$aanhef = $_POST['aanhef'];
$alternativaricevantonomo = $_POST['alternativaricevantonomo'];
$adres = $_POST['adres'];
$adres1 = $_POST['adres1'];
$plaats = $_POST['plaats'];
$plaats1 = $_POST['plaats1'];
$postcode = $_POST['postcode'];
$land = $_POST['land'];
$huistel = $_POST['huistel'];
$zaktel = $_POST['zaktel'];
$netadres = $_POST['netadres'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title></title>
<meta name="description" content=""/>
<meta name="keywords" content=""/>
<meta name="author" content="Unregistered User"/>
<meta name="generator" content="AceHTML Freeware"/>
</head>
<body>
<?php
if (isset($_POST['submit'])) {
if ($voornaam == "") {
echo "Vi ne plenigis vian personan nomon!<br/>";
} else if ($achternaam == "") {
echo "Vi ne plenigis vian familian nomon!<br/>";
} else if ($adres == "") {
echo "Vi ne plenigis la unuan linion de la adreso!<br/>";
} else if ($plaats == "") {
echo "Vi ne plenigis la unuan linion de la loknomo!<br/>";
} else if ($postcode == "") {
echo "Vi ne plenigis la poŝtkodon!<br/>";
} else if ($lando == "") {
echo "Vi ne plenigis la landon!<br/>";
} else if (($huistel == "") && ($zaktel == ""))
echo "Donu almenaŭ unu telefonnumeron, poŝtelefonan aŭ fiksan!<br/>";
} else if ($netadres == "") {
echo "Vi ne plenigis vian retpoŝtadreson!<br/>";
} else if (($aanhef == "alia") && ($aanhef1 == "")) {
echo "Vi ne plenigis alian titolon!<br/>";
} else if (($aanhef == "") && ($aanhef1 !== "")) {
echo "Vi skribis alian titolon, sed tio ne estas konfirmita en la supra elektujo 'Kiu titolo?'!<br/>";
} else {
if ($volgorde == "0") {
$naam = $voornaam." ".$achternaam;
} else {
$naam = $achternaam." ".$voornaam;
};
if ($adres1 !== "") {
$adres .= "<br/>".$adres1;
};
if ($plaats1 !== "") {
$plaats .= "<br/>".$plaats1;
};
if ($aanhef == "alia") {
$aanhef = $aanhef1;
} else if ($aanhef == "0") {
$aanhef="";
};
if (alternativaricevantonomo !== "") {
$doel="pagas abonon por ".alternativaricevantonomo."<br/> al Balkana Verda Stelo.";
} else {
$doel="abonas sin al Balkana Verda Stelo.";
};
if (($huistel !== "") && ($poshtel !== "")) {
$tel = $huistel." aŭ ".$poshtel;
} else {
$tel = $huistel.$poshtel;
};
$enhavo = "Nomo: ".$naam.",<br/>".$doel."<br/>Adreso de abonanto: ".$adres."<br/>Loknomo".$plaats.",<br/>".
"poŝtkodo: ".$poshtkodo."en ".$land."<br/>La eldonanto rajtas alvoki min per telefono ".$tel.".<br/>".
"Miaj personaj donitaĵoj estos nur uzataj por faciligi la komunikadon rilate al mia abono kaj pago<br/>".
"kaj por plibonigi la enhavon de Balkana Verda Stelo.<br/>".
"Mia retpoŝtadreso estas ".$retposht.".";
$temo = "abonanonco de ".$naam;
mail("[email protected]", $temo, $enhavo, $headers);
};
?>
<form name="personalia" method="post" action="compleet.php">
<table width="70%">
<tr>
<td width="15%">Persona nomo <font size="-4">aŭ nur ties unua litero</font>: </td>
<td colspan="2"><input type="text" name="voornaam" /></td>
</tr>
<tr>
<td>Familia nomo: </td>
<td colspan="2"><input type="text" name="achternaam" /></td>
</tr>
<tr>
<td align="right"><font size="-2">Sur la koverto metu mian personan nomon</font></td>
<td align="center" width="10%"><select name="volgorde" size="2">
<option value="0" selected="selected"> antaŭ</option>
<option value="1"> malantaŭ</option>
</select></td>
<td width="10%"><font size="-2">la familia nomo.</font></td>
</tr>
<tr>
<td valign="middle">Kiu titolo?</td>
<td colspan="2"><select name="aanhef" size="5">
<option value='0' selected="selected">neniu</option>
<option value='f-ino'>f-ino</option>
<option value='s-ino'>s-ino</option>
<option value='s-ro'>s-ro</option>
<option value='alia'>alia titolo ĉi-sube</option>
</select></td>
</tr>
<tr>
<td align="right"><font size="-2">Alia kompleta titolo</font></td><td colspan="2"><input type="text" name="aanhef1" /></td>
</tr>
<tr>
<td align="right"><font size="-2">Kompleta alnomo (plus titolo)<br/>por koverto al alia persono,<br/>se vi volas pagi por li/ŝi: </font></td>
<td colspan="2"><textarea name="alternativaricevantonomo" cols="30" rows="5" wrap="on"></textarea></td>
</tr>
<tr>
<td>Adreso de abonanto: </td>
<td ><input type="text" name="adres" /></td>
</tr>
<tr>
<td>2a linio por adreso: </td>
<td ><input type="text" name="adres1" /></td>
</tr>
<tr>
<td>Loknomo: </td>
<td ><input type="text" name="plaats" /></td>
</tr>
<tr>
<td>2a linio por loknomo: </td>
<td ><input type="text" name="plaats1" /></td>
</tr>
<tr>
<td>Poŝtkodo: </td>
<td ><input type="text" name="postcode" /></td>
</tr>
<tr>
<td>Lando: </td>
<td ><input type="text" name="land" /></td>
</tr>
<tr>
<td>Numero de fiksa telefono: </td>
<td ><input type="text" name="huistel" /></td>
</tr>
<tr>
<td>Numero de poŝtelefono: </td>
<td ><input type="text" name="zaktel" /></td>
</tr>
<tr>
<td>Retpoŝtadreso: </td>
<td ><input type="text" name="netadres" /></td>
</tr>
</table>
<p></p>
<input type="reset" value="Rekomencigu" /> <input type="submit" value="Sendu" />
</form>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick"/>
<input type="hidden" name="hosted_button_id" value="MPASZA2MRSZDW"/>
<table>
<tr>
<td><input type="hidden" name="on0" value="Elektu"/>Elektu</td></tr>
<tr>
<td><select name="os0">
<option value="1 abono por 3 jaroj"> 1 abono por 3 jaroj: 14,00 ĉiujare*</option>
<option value="1 abono por 2 jaroj"> 1 abono por 2 jaroj: 15,00 ĉiujare*</option>
<option value="1 abono por 1 jaro"> 1 abono por 1 jaro : 16,00 ĉiujare*</option>
<option value="2 abonoj por 2 jaroj">2 abonoj por 2 jaroj: 29,00 ĉiujare*</option>
<option value="2 abonoj por 1 jaro"> 2 abonoj por 1 jaro : 30,00 ĉiujare*</option>
<option value="3 abonoj por 2 jaroj">3 abonoj por 2 jaroj: 42,00 ĉiujare*</option>
<option value="3 abonoj por 1 jaro"> 3 abonoj por 1 jaro : 44,00 ĉiujare*</option>
</select></td>
<td><font size="-3">* ĝis malabonigo antaƁ la fino de la elektita de vi periodo</font>
</td>
</tr>
</table>
<input type="hidden" name="currency_code" value="EUR"/>
<input type="image" src="https://www.paypalobjects.com/nl_NL/NL/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal, la sekura kaj kompleta maniero por pagi enrete."/>
<img alt="" border="0" src="https://www.paypalobjects.com/nl_NL/i/scr/pixel.gif" width="1" height="1"/>
</form>
</body>
</html>
error_reporting(E_ALL&~E_NOTICE);
foreach ($_POST as $key => $value) {$$key = $value;};
$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
$voornaam = $_POST['voornaam'];
$achternaam = $_POST['achternaam'];
$volgorde = $_POST['volgorde'];
$aanhef = $_POST['aanhef'];
$alternativaricevantonomo = $_POST['alternativaricevantonomo'];
$adres = $_POST['adres'];
$adres1 = $_POST['adres1'];
$plaats = $_POST['plaats'];
$plaats1 = $_POST['plaats1'];
$postcode = $_POST['postcode'];
$land = $_POST['land'];
$huistel = $_POST['huistel'];
$zaktel = $_POST['zaktel'];
$netadres = $_POST['netadres'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title></title>
<meta name="description" content=""/>
<meta name="keywords" content=""/>
<meta name="author" content="Unregistered User"/>
<meta name="generator" content="AceHTML Freeware"/>
</head>
<body>
<?php
if (isset($_POST['submit'])) {
if ($voornaam == "") {
echo "Vi ne plenigis vian personan nomon!<br/>";
} else if ($achternaam == "") {
echo "Vi ne plenigis vian familian nomon!<br/>";
} else if ($adres == "") {
echo "Vi ne plenigis la unuan linion de la adreso!<br/>";
} else if ($plaats == "") {
echo "Vi ne plenigis la unuan linion de la loknomo!<br/>";
} else if ($postcode == "") {
echo "Vi ne plenigis la poŝtkodon!<br/>";
} else if ($lando == "") {
echo "Vi ne plenigis la landon!<br/>";
} else if (($huistel == "") && ($zaktel == ""))
echo "Donu almenaŭ unu telefonnumeron, poŝtelefonan aŭ fiksan!<br/>";
} else if ($netadres == "") {
echo "Vi ne plenigis vian retpoŝtadreson!<br/>";
} else if (($aanhef == "alia") && ($aanhef1 == "")) {
echo "Vi ne plenigis alian titolon!<br/>";
} else if (($aanhef == "") && ($aanhef1 !== "")) {
echo "Vi skribis alian titolon, sed tio ne estas konfirmita en la supra elektujo 'Kiu titolo?'!<br/>";
} else {
if ($volgorde == "0") {
$naam = $voornaam." ".$achternaam;
} else {
$naam = $achternaam." ".$voornaam;
};
if ($adres1 !== "") {
$adres .= "<br/>".$adres1;
};
if ($plaats1 !== "") {
$plaats .= "<br/>".$plaats1;
};
if ($aanhef == "alia") {
$aanhef = $aanhef1;
} else if ($aanhef == "0") {
$aanhef="";
};
if (alternativaricevantonomo !== "") {
$doel="pagas abonon por ".alternativaricevantonomo."<br/> al Balkana Verda Stelo.";
} else {
$doel="abonas sin al Balkana Verda Stelo.";
};
if (($huistel !== "") && ($poshtel !== "")) {
$tel = $huistel." aŭ ".$poshtel;
} else {
$tel = $huistel.$poshtel;
};
$enhavo = "Nomo: ".$naam.",<br/>".$doel."<br/>Adreso de abonanto: ".$adres."<br/>Loknomo".$plaats.",<br/>".
"poŝtkodo: ".$poshtkodo."en ".$land."<br/>La eldonanto rajtas alvoki min per telefono ".$tel.".<br/>".
"Miaj personaj donitaĵoj estos nur uzataj por faciligi la komunikadon rilate al mia abono kaj pago<br/>".
"kaj por plibonigi la enhavon de Balkana Verda Stelo.<br/>".
"Mia retpoŝtadreso estas ".$retposht.".";
$temo = "abonanonco de ".$naam;
mail("[email protected]", $temo, $enhavo, $headers);
};
?>
<form name="personalia" method="post" action="compleet.php">
<table width="70%">
<tr>
<td width="15%">Persona nomo <font size="-4">aŭ nur ties unua litero</font>: </td>
<td colspan="2"><input type="text" name="voornaam" /></td>
</tr>
<tr>
<td>Familia nomo: </td>
<td colspan="2"><input type="text" name="achternaam" /></td>
</tr>
<tr>
<td align="right"><font size="-2">Sur la koverto metu mian personan nomon</font></td>
<td align="center" width="10%"><select name="volgorde" size="2">
<option value="0" selected="selected"> antaŭ</option>
<option value="1"> malantaŭ</option>
</select></td>
<td width="10%"><font size="-2">la familia nomo.</font></td>
</tr>
<tr>
<td valign="middle">Kiu titolo?</td>
<td colspan="2"><select name="aanhef" size="5">
<option value='0' selected="selected">neniu</option>
<option value='f-ino'>f-ino</option>
<option value='s-ino'>s-ino</option>
<option value='s-ro'>s-ro</option>
<option value='alia'>alia titolo ĉi-sube</option>
</select></td>
</tr>
<tr>
<td align="right"><font size="-2">Alia kompleta titolo</font></td><td colspan="2"><input type="text" name="aanhef1" /></td>
</tr>
<tr>
<td align="right"><font size="-2">Kompleta alnomo (plus titolo)<br/>por koverto al alia persono,<br/>se vi volas pagi por li/ŝi: </font></td>
<td colspan="2"><textarea name="alternativaricevantonomo" cols="30" rows="5" wrap="on"></textarea></td>
</tr>
<tr>
<td>Adreso de abonanto: </td>
<td ><input type="text" name="adres" /></td>
</tr>
<tr>
<td>2a linio por adreso: </td>
<td ><input type="text" name="adres1" /></td>
</tr>
<tr>
<td>Loknomo: </td>
<td ><input type="text" name="plaats" /></td>
</tr>
<tr>
<td>2a linio por loknomo: </td>
<td ><input type="text" name="plaats1" /></td>
</tr>
<tr>
<td>Poŝtkodo: </td>
<td ><input type="text" name="postcode" /></td>
</tr>
<tr>
<td>Lando: </td>
<td ><input type="text" name="land" /></td>
</tr>
<tr>
<td>Numero de fiksa telefono: </td>
<td ><input type="text" name="huistel" /></td>
</tr>
<tr>
<td>Numero de poŝtelefono: </td>
<td ><input type="text" name="zaktel" /></td>
</tr>
<tr>
<td>Retpoŝtadreso: </td>
<td ><input type="text" name="netadres" /></td>
</tr>
</table>
<p></p>
<input type="reset" value="Rekomencigu" /> <input type="submit" value="Sendu" />
</form>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick"/>
<input type="hidden" name="hosted_button_id" value="MPASZA2MRSZDW"/>
<table>
<tr>
<td><input type="hidden" name="on0" value="Elektu"/>Elektu</td></tr>
<tr>
<td><select name="os0">
<option value="1 abono por 3 jaroj"> 1 abono por 3 jaroj: 14,00 ĉiujare*</option>
<option value="1 abono por 2 jaroj"> 1 abono por 2 jaroj: 15,00 ĉiujare*</option>
<option value="1 abono por 1 jaro"> 1 abono por 1 jaro : 16,00 ĉiujare*</option>
<option value="2 abonoj por 2 jaroj">2 abonoj por 2 jaroj: 29,00 ĉiujare*</option>
<option value="2 abonoj por 1 jaro"> 2 abonoj por 1 jaro : 30,00 ĉiujare*</option>
<option value="3 abonoj por 2 jaroj">3 abonoj por 2 jaroj: 42,00 ĉiujare*</option>
<option value="3 abonoj por 1 jaro"> 3 abonoj por 1 jaro : 44,00 ĉiujare*</option>
</select></td>
<td><font size="-3">* ĝis malabonigo antaƁ la fino de la elektita de vi periodo</font>
</td>
</tr>
</table>
<input type="hidden" name="currency_code" value="EUR"/>
<input type="image" src="https://www.paypalobjects.com/nl_NL/NL/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal, la sekura kaj kompleta maniero por pagi enrete."/>
<img alt="" border="0" src="https://www.paypalobjects.com/nl_NL/i/scr/pixel.gif" width="1" height="1"/>
</form>
</body>
</html>
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 17/06/2015 18:14:07 door - Ariën -
Waarom eerst allerlei variabelen aanmaken en daarna pas controleren of formulier is verzonden?
Je bedoelt: Waarom begin je niet met if (!isset($_POST['submit'])) (als die syntaxis goed is) en eerst het html-gedeelte plaatsen? Ja, dat is overzichtelijker voor de lezer.
Die variabelen op lijn 6 t/m 19 hoe je niet aan te maken. Die $_POST['....']-variabelen kan je al direct gebruiken. Zolang je er meer oplet dat ze bestaan.
Wat nu alleen nog niet lukt, is dat ik de echo's, bij het posten van "compleet.php" met lege velden naar "compleet.php", op het scherm krijg, dus } else { (wat hier de functie "if (isset($_POST['submit']))" heeft
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php if ($voornaam == "") {
echo "Vi ne plenigis vian personan nomon!<br/>";
} else if ($achternaam == "") {
echo "Vi ne plenigis vian familian nomon!<br/>";
} else if ($adres == "") {
echo "Vi ne plenigis la unuan linion de la adreso!<br/>";
} else if ($plaats == "") {
echo "Vi ne plenigis la unuan linion de la loknomo!<br/>";
} else if ($postcode == "") {
echo "Vi ne plenigis la poŝtkodon!<br/>";
?>
echo "Vi ne plenigis vian personan nomon!<br/>";
} else if ($achternaam == "") {
echo "Vi ne plenigis vian familian nomon!<br/>";
} else if ($adres == "") {
echo "Vi ne plenigis la unuan linion de la adreso!<br/>";
} else if ($plaats == "") {
echo "Vi ne plenigis la unuan linion de la loknomo!<br/>";
} else if ($postcode == "") {
echo "Vi ne plenigis la poŝtkodon!<br/>";
?>
enzovoort
Gewijzigd op 17/06/2015 19:28:59 door Johan Derks
Johan Derks op 17/06/2015 18:46:40:
Je bedoelt: Waarom begin je niet met if (!isset($_POST['submit'])) (als die syntaxis goed is) en eerst het html-gedeelte plaatsen? Ja, dat is overzichtelijker voor de lezer.
Voor welke lezer?!?
Zou overigens niet je mailadres in een topic zetten.
Die heeft geen nut (meer). En nu heb je geen gezeik meer: je weet wat je wilt/nodig hebt. Meer niet.
Daarnaast is een controle op een lege string ook makkelijk te omzeilen.
Het zou ook al gebruiksvriendelijker zijn als je op 1 of andere manier in het formulier aangeeft dat bepaalde / alle velden verplicht zijn en het is natuurlijk helemaal mooi als alle foute velden in 1x gemarkeerd worden en er ook een (extra) hint wordt gegeven wat voor geldige invoer er dan wel verwacht wordt.
Gewijzigd op 17/06/2015 20:35:51 door Thomas van den Heuvel
Maar je gebruikt 'm op deze manier: alternativaricevantonomo (op regel 72 en 73)
Daar klopt iets niet..
Code (php)
1
2
3
2
3
if (alternativaricevantonomo !== "") {
$doel="pagas abonon por ".alternativaricevantonomo."<br/> al Balkana Verda Stelo.";
}
$doel="pagas abonon por ".alternativaricevantonomo."<br/> al Balkana Verda Stelo.";
}
Maar die fout kan de PHP-parser zelf gewoon melden: het is (twee keer) een undefined constant. Zet dus boven in je script de foutmeldingen aan, dan heb je hier geen last meer van:
De echo-instructies werken niet. Kennelijk is er iets niet goed met de communictie server-side - userside )Vroeger deed ik alle foutmeldingen met Javascript. Nu moet de gebruiker het formulier, wanneer het fout of niet is ingevuld, terugkrijgen, MET BEHOUD VAN WAT GOED IS INGEVULD - lijkt mij. Ik heb de structuur van het formulier als volgt samengevat:
NAAM van script: compleet.php
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
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
<?php ini_set('display_errors',1);
error_reporting(E_ALL&~E_NOTICE);
$headers = 'MIME-Version: 1.0'."\r\n";
if (isset($_POST['submit'])) {
Hernoemen aanmeldvariabelen uit POST_array
Controle op fouten in aanmelding en toekennen van tekst aan foutvariabelen: $voornaamFt, $achternaamFt, enz.
Toekennen van waarde true of false aan variabele $foutloos.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form name="personalia" method="post" action=".\compleet.php">
Velden in tabel:
<input type="text" name="voornaam"/><?php echo $voornaamFt;?>
input type="text" name="achternaam"/><?php echo $achternaamFt;?>
enz.
Einde tabel
<input type="reset" value="Rekomencigu" /> <input type="submit" value="Sendu" />
</form>
<?php
if ($foutloos == true) {
Opmaak van leesbare tekst uit ingevulde gegevens van gebruiker, onder de variabele $enhavo
Opmaak van onderwerpregel onder de naam $temo
mail([mijn emailadres], $temo, $enhavo, $headers);
?>
<form action="" method="post" target="_top">
abonnementformulier op Esperanto-tijdschrift
<input type="image" src="." border="0" name="submit" alt="PayPal, la sekura kaj kompleta maniero por pagi enrete."/>
</form>
</body>
</html>
error_reporting(E_ALL&~E_NOTICE);
$headers = 'MIME-Version: 1.0'."\r\n";
if (isset($_POST['submit'])) {
Hernoemen aanmeldvariabelen uit POST_array
Controle op fouten in aanmelding en toekennen van tekst aan foutvariabelen: $voornaamFt, $achternaamFt, enz.
Toekennen van waarde true of false aan variabele $foutloos.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form name="personalia" method="post" action=".\compleet.php">
Velden in tabel:
<input type="text" name="voornaam"/><?php echo $voornaamFt;?>
input type="text" name="achternaam"/><?php echo $achternaamFt;?>
enz.
Einde tabel
<input type="reset" value="Rekomencigu" /> <input type="submit" value="Sendu" />
</form>
<?php
if ($foutloos == true) {
Opmaak van leesbare tekst uit ingevulde gegevens van gebruiker, onder de variabele $enhavo
Opmaak van onderwerpregel onder de naam $temo
mail([mijn emailadres], $temo, $enhavo, $headers);
?>
<form action="" method="post" target="_top">
abonnementformulier op Esperanto-tijdschrift
<input type="image" src="." border="0" name="submit" alt="PayPal, la sekura kaj kompleta maniero por pagi enrete."/>
</form>
</body>
</html>
Wie gaat er een licht op? Mij niet. Vast bedankt.
Gewijzigd op 18/06/2015 17:52:54 door - Ariën -
Hier kan je meer lezen over de mogelijke opmaakcodes.
Je moet controleren of de waardes nog in je POST-request zitten:
Johan, zou je voortaan code de [code][/code]-tags gebruiken voor de codes. Dan blijft het forum overzichtelijk. Je moet controleren of de waardes nog in je POST-request zitten:
Code (php)
Gewijzigd op 18/06/2015 17:57:04 door - Ariën -
Als ik vooraan het script "foreach ($_POST as $key => $value) {$inhoud .= "$key: $value\n";}; print $inhoud;", levert dat niets op. Het is zelfs zo, dat alleen het onderste gedeelte van het script, namelijk
[form action="" method="post" target="_top"]
abonnementformulier op Esperanto-tijdschrift
[input type="image" src="." border="0" name="submit" alt="PayPal, la sekura kaj kompleta maniero por pagi enrete."/]
[/form]
wordt uitgevoerd.
Gewijzigd op 18/06/2015 19:06:12 door Johan Derks