[php]if constructie werkt niet naar behoren

Pagina: 1
Acties:
  • 435 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
ik ben bezig met een beginnerscursus php en nu heb ik een oefening gedaan waarbij er wordt gekeken of een formuliertje is ingevuld. Dit ging goed totdat de php code (van de controle) en de html code(van het formuliertje) samengevoegd werden. De bedoeling is dat het formulier moet worden getoond als er geen gegevens worden meegestuurd en als er wel gegevens zijn (m.b.v. de post methode) dan moet de controle worden uitgevoerd. Het probleem is dat het formulier nooit wordt getoond. Dit is mijn 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
<html>
<head>
<title>formuliertje</title>
</head>
<body>
<?php
if (isset($_POST)){
    if (empty($_POST['naam'])) {
    $fout['naam']= TRUE;
    }
    if (empty($_POST['email'])){
    $fout['email'] = TRUE;
    }
    if (isset($fout)) {
    echo 'een van de velden is niet goed ingevuld';
    }
    else {
    echo 'alles is goed ingevuld!';
    }
}
else {
?>
<form action="formuliertje.php" method="post">
Naam: <input type="text" name="naam" /><br />
Email: <input type="text" name="email" /><br />
<input type="submit" value="Verzenden" />
</form>
<?php
}
?> 
</body>
</html>

ik heb al op google gezocht maar kon niet echt een vergelijkbaar voorbeeld vinden.
kan iemand mij vertellen wat hier fout gaat? alvast hartelijk bedankt.

Acties:
  • 0 Henk 'm!

  • Xesxen
  • Registratie: Juli 2009
  • Laatst online: 11:35
doe eens op regel 7: if(isset($_POST['naam']) || isset($_POST['email'])) {

Rare vogel in spe


Acties:
  • 0 Henk 'm!

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 07-07 15:40
williewonka03 schreef op donderdag 04 augustus 2011 @ 12:26:
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
<html>
<head>
<title>formuliertje</title>
</head>
<body>
<?php
if(isset($_POST['naam']) || isset($_POST['email'])) {
    if (empty($_POST['naam'])) {
           $fout['naam']= TRUE;
    }
    if (empty($_POST['email'])){
           $fout['email'] = TRUE;
    }
    if (isset($fout)) {
           echo 'een van de velden is niet goed ingevuld';
    }
    else {
           echo 'alles is goed ingevuld!';
    }
}
else {
       echo '<form action="formuliertje.php" method="post">';
       echo 'Naam: <input type="text" name="naam" /><br />';
       echo 'Email: <input type="text" name="email" /><br />';
       echo '<input type="submit" value="Verzenden" />';
       echo '</form>';
}
?> 
</body>
</html>

ik heb al op google gezocht maar kon niet echt een vergelijkbaar voorbeeld vinden.
kan iemand mij vertellen wat hier fout gaat? alvast hartelijk bedankt.

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
Xesxen schreef op donderdag 04 augustus 2011 @ 12:29:
doe eens op regel 7: if(isset($_POST['naam']) || isset($_POST['email'])) {
hartelijk bedankt! dat werkte. dit staat niet in de cursus, foutje in de cursus dus.
pardon maar wat is de waarde hiervan?

[ Voor 22% gewijzigd door williewonka03 op 04-08-2011 12:33 ]


Acties:
  • 0 Henk 'm!

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 07-07 15:40
Dit is een ranzige constructie ...
code:
1
2
3
4
5
else {
?>
Blaat
<?php
}

Als ik jou was zou ik ook PHP error reporting aan zetten, zodat je zelf ziet wat je fout doet ...

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
djexplo schreef op donderdag 04 augustus 2011 @ 12:35:
Dit is een ranzige constructie ...
code:
1
2
3
4
5
else {
?>
Blaat
<?php
}

Als ik jou was zou ik ook PHP error reporting aan zetten, zodat je zelf ziet wat je fout doet ...
uhm hoe zet je dat aan in notepad ++?

Acties:
  • 0 Henk 'm!

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 07-07 15:40

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


Acties:
  • 0 Henk 'm!

  • Melodic Metal
  • Registratie: November 2009
  • Laatst online: 16-09 21:03
djexplo schreef op donderdag 04 augustus 2011 @ 12:35:
Dit is een ranzige constructie ...
code:
1
2
3
4
5
else {
?>
Blaat
<?php
}

Als ik jou was zou ik ook PHP error reporting aan zetten, zodat je zelf ziet wat je fout doet ...
Lang niet zo ranzig als complete html blocks echo'en met php.


Error reporting staat in de manual.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
williewonka03 schreef op donderdag 04 augustus 2011 @ 12:38:
[...]

uhm hoe zet je dat aan in notepad ++?
uhm, doe zelf maar eens wat moeite
[google="php error reporting"]

Het is nu over en uit met de helpdesktopics. Koop een goed boek, ga naar de bibliotheek of zoek een fatsoenlijke online tutorial; ik weet niet welke tutorial je nu aan 't volgen bent maar die is waardeloos of je leest 'm maar half. You decide.

[ Voor 26% gewijzigd door RobIII op 04-08-2011 12:53 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Even door het slotje heen posten om de bad practices af te schieten. ;)
Xesxen schreef op donderdag 04 augustus 2011 @ 12:29:
doe eens op regel 7: if(isset($_POST['naam']) || isset($_POST['email'])) {
Liever doe je if ($_SERVER['REQUEST_METHOD'] == 'POST') om te kijken of het een postback betreft, en vervolgens met isset per postvariabele kijken of de waarde wel of niet goed ingevuld is om zo zinnige foutmeldingen te kunnen geven. ;)
djexplo schreef op donderdag 04 augustus 2011 @ 12:35:
Dit is een ranzige constructie ...
En dát is jouw persoonlijke mening, geen waarheid. Ik vind zoals hierboven al gezegd wordt tientallen echo's veel ranziger. En ook dát is een persoonlijke mening, geen waarheid.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.