simpel if/elseif/else probleem
Ben redelijk nieuw in het webdesign en probeer redelijk wat dingen uit. Alleen nu ben ik bezig met een site en stuit ik op een probleem waar ik al een uur mee zit te stoeien en niet uit kom. Misschien dat iemand mij kan helpen. Op dit moment heb ik dit staan. En als ik op de website de option veranderd word er geen ander echo geprint.
<tr>
<td>1</td>
<td><select name='xx'>
<option name='a'>a</option>
<option name='b'>b</option>
<option name='c'>c</option>
</select></td>
<td>
Code (php)
</tr>
Als ik naar de site ga dan komt er te staan dit is a. Top dat is goed, maar wanneer ik hem op b zet dan blijft er staan Dit is a. En dat is niet goed natuurlijk hahaha. Iemand een idee?
probeer $_GET['xx'], niet alle providers ondersteunen direct $xx
Quote:
niet alle providers ondersteunen direct $xx
Providors die dit wel zo ondersteunen moeten afgeschoten worden.
- SanThe - op 27/02/2011 16:14:11:
Had ik over het hoofd gezien
de option heeft de value="a" etc
if($_SERVER['REQUEST_METHOD'] == 'POST')
en altijd controleren of iets wel bestaat met isset.
Voor 1 regel ben je niet verplicht { } te gebruiken (wat je maar handiger vind).
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
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
<?php
/* first we need to require our MathGuard class */
require ("ClassMathGuard.php");
/* this condition checks the user input. Don't change the condition, just the body within the curly braces */
if (MathGuard :: checkResult($_REQUEST['mathguard_answer'], $_REQUEST['mathguard_code'])) {
echo ("OK"); //insert your code that will be executed when user enters the correct answer
} else {
echo ("Sorry u heeft de code niet goed ingegeven.Probeert u het nog eens."); //insert your code which tells the user he is spamming your website
die();
}
if ($_POST['Naam'] == "") {
$error = "Naam is niet ingevuld<BR />";
} if ($_POST['Telefoon'] == "") {
$error .= "Telefoonnummer is niet ingevuld<BR />";
} if ($_POST['email'] == "") {
$error .= "E-Mail adres is niet ingevuld";
}
if (!isset($error)) {
$naam = "Naam:".$_POST['Naam'];
$adres= "Adres:".$_POST['Adres'];
$postcode = "Poscode".$_POST['postcode'];
$plaats = "Woonplaats:".$_POST['plaats'];
$telefoon = "Telefoon:".$_POST['Telefoon'];
$email = "E-Mail:".$_POST['email'];
$artikelen = "Artikelen:".$_POST['artikelen'];
$formsent = mail('[email protected]',
'Gegevens afkomstig van de verkoop pagina.',
"Naam: $naam\r\n
Adres: $adres\r\n
Postcode: $postcode\r\n
Plaats: $plaats\r\n
Telefoon: $telefoon\r\n
E-mail: $email\r\n\
Artielen: $artikelen\r\n",
"From: $email\r\nBounce-to: [email protected]");
if ($formsent) {
echo "<p>Geachte heer/mevrouw $naam<br><br> Wij hebben uw anvraag ontvangen en zullen dit zo spoeding mogelijk in behandeling nemen.</p>";
} else {
echo "<p>Sorry er is iets mis gegaan met uw aanvraag. Probeert u het later nog eens.</p>";
}
?>
/* first we need to require our MathGuard class */
require ("ClassMathGuard.php");
/* this condition checks the user input. Don't change the condition, just the body within the curly braces */
if (MathGuard :: checkResult($_REQUEST['mathguard_answer'], $_REQUEST['mathguard_code'])) {
echo ("OK"); //insert your code that will be executed when user enters the correct answer
} else {
echo ("Sorry u heeft de code niet goed ingegeven.Probeert u het nog eens."); //insert your code which tells the user he is spamming your website
die();
}
if ($_POST['Naam'] == "") {
$error = "Naam is niet ingevuld<BR />";
} if ($_POST['Telefoon'] == "") {
$error .= "Telefoonnummer is niet ingevuld<BR />";
} if ($_POST['email'] == "") {
$error .= "E-Mail adres is niet ingevuld";
}
if (!isset($error)) {
$naam = "Naam:".$_POST['Naam'];
$adres= "Adres:".$_POST['Adres'];
$postcode = "Poscode".$_POST['postcode'];
$plaats = "Woonplaats:".$_POST['plaats'];
$telefoon = "Telefoon:".$_POST['Telefoon'];
$email = "E-Mail:".$_POST['email'];
$artikelen = "Artikelen:".$_POST['artikelen'];
$formsent = mail('[email protected]',
'Gegevens afkomstig van de verkoop pagina.',
"Naam: $naam\r\n
Adres: $adres\r\n
Postcode: $postcode\r\n
Plaats: $plaats\r\n
Telefoon: $telefoon\r\n
E-mail: $email\r\n\
Artielen: $artikelen\r\n",
"From: $email\r\nBounce-to: [email protected]");
if ($formsent) {
echo "<p>Geachte heer/mevrouw $naam<br><br> Wij hebben uw anvraag ontvangen en zullen dit zo spoeding mogelijk in behandeling nemen.</p>";
} else {
echo "<p>Sorry er is iets mis gegaan met uw aanvraag. Probeert u het later nog eens.</p>";
}
?>
Je sluit de laatste "if" niet af. Nog een } onderaan dus...;)
Volgens mij heb je de if van regel 22 niet afgesloten
EDIT:
Tacconie T was me te snel af
Gewijzigd op 27/02/2011 20:30:33 door Tobias Tobias
PS: Mijn eerste probleem leek te werken maar als ik de pagina upload dan doet hij het nog niet. Als ik op de broncode kijk zie ik dat het php stukje er niet tussen staat. Iemand suggesties? Hij zet het het else stukje wel standaard als antwoord namelijk Dit is A.
Gewijzigd op 27/02/2011 20:56:27 door Michael Oude Lansink
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
?>