eenvoudig formulier met onpage verwerking
Ik wil een eenvoudig formuliertje maken dat euro omzet naar bef en omgekeerd.
Ik zou dit in feite maandag in mijn (derde) les php5 geleerd moeten hebben, maar ik raak er niet uit.
Er moet ook nog een foutmelding bijkomen dat het veld moet ingevuld worden als er op de submit knop wordt gedrukt zonder dat er iets in het veld werd ingevuld, maar ik zou al blij zijn mocht hij het gewoon uitrekenen wanneer ik wel iets invul.
Kunnen jullie mijn formuliertje eens nakijken?
(ps ik heb het formulier opgeslagen als eurotweerichtingen.php)
groetjes
Spartel
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
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
<HTML>
<HEAD>
<TITLE>euro twee richtingen</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_POST["BFknop"] ))
{
if (isset ($_POST["$euro"]))
{$euro = $_POST["$euro"];
$bef = $euro*40.3399;
}
else {
$bef ="";
}
}
if (isset($_POST["EUROknop"] ))
{
if (isset ($_post["$bef"]))
{$bef = $_POST["$bef"];
$euro = $bef/40.3399;
}
else {
$euro ="";
}
}
?>
<h1>eurocalculator</h1>
<form name="euroform" method="POST" action="eurotweerichtingen.php">
EURO omzetten naar BF
<br>
<input type="text" name="euro">
<input type="submit" name="BFknop" value="BF" >
<input type="text" name="bereken" value = "<?php echo $bef;?>" >
<br><br>
BF omzetten naar EURO
<br>
<input type="text" name="bef">
<input type="submit" name="EUROknop" value="EURO" >
<input type="text" name="bereken" value = "<?php echo $euro;?>" >
</form>
</BODY>
</HTML>
<HEAD>
<TITLE>euro twee richtingen</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_POST["BFknop"] ))
{
if (isset ($_POST["$euro"]))
{$euro = $_POST["$euro"];
$bef = $euro*40.3399;
}
else {
$bef ="";
}
}
if (isset($_POST["EUROknop"] ))
{
if (isset ($_post["$bef"]))
{$bef = $_POST["$bef"];
$euro = $bef/40.3399;
}
else {
$euro ="";
}
}
?>
<h1>eurocalculator</h1>
<form name="euroform" method="POST" action="eurotweerichtingen.php">
EURO omzetten naar BF
<br>
<input type="text" name="euro">
<input type="submit" name="BFknop" value="BF" >
<input type="text" name="bereken" value = "<?php echo $bef;?>" >
<br><br>
BF omzetten naar EURO
<br>
<input type="text" name="bef">
<input type="submit" name="EUROknop" value="EURO" >
<input type="text" name="bereken" value = "<?php echo $euro;?>" >
</form>
</BODY>
</HTML>
_________________
Wie geen komma's gebruikt zet vaak te snel een punt
Gewijzigd op 01/01/1970 01:00:00 door Hilde
mag worden:
$_POST['euro']
Gebruik binnen PHP altijd enkele quotes, dat maakt de boel een stuk overzichtelijker en je hebt minder ellende met html waar je dubbele quotes gebruikt.
$_POST is de variabele, een array, met de key 'euro'. euro is dus geen variabele, daar staat dus geen $ voor.
De bef rekent hij uit, de euro nog niet, maar ik kan nu eerst weer wat verder zoeken
Dank u wel
Quote:
'ze zei U tegen mij!'Dank u wel
Het is hier gewoon je en jij, maak je daar niet druk over! Succes!
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
<?php
// Als het formulier aangeroepen is
if($_REQUEST["do"] == 'reken') {
// Zet wat vaste waardes
$euro = $_REQUEST["euro"];
$bef = $_REQUEST["bef"];
$huidig_verschil = 40.3399;
// Kijk of er wel een veld is ingevuld
if(empty($euro) && empty($bef)) {
echo "Je hebt geen waarde ingevuld!";
die();
} else {
// Kijken of niet allebei de velden zijn ingevuld
if(!empty($euro) && !empty($bef)) {
echo "Oh, dus jij denkt het beter te weten he.";
echo "<BR>Het is de bedoeling dat je één veld invult om de waarde van de andere te achterhalen!";
die();
}
// Als het euro veld is ingevoerd
if(!empty($euro)) {
$bef_w = $euro * $huidig_verschil;
echo "EUR ".$euro." = BEF ".$bef_w;
die();
}
// Als het BEF veld is ingevoerd
if(!empty($bef)) {
$euro_w = $bef / $huidig_verschil;
echo "BEF ".$bef." = EUR ".$euro_w;
die();
}
}
}
?>
<form method="post" action="?do=reken">
Euro <input type="text" name="euro"><P>
BEF <input type="text" name="bef"><P>
<input type="submit" value="Omrekenen">
</form>
// Als het formulier aangeroepen is
if($_REQUEST["do"] == 'reken') {
// Zet wat vaste waardes
$euro = $_REQUEST["euro"];
$bef = $_REQUEST["bef"];
$huidig_verschil = 40.3399;
// Kijk of er wel een veld is ingevuld
if(empty($euro) && empty($bef)) {
echo "Je hebt geen waarde ingevuld!";
die();
} else {
// Kijken of niet allebei de velden zijn ingevuld
if(!empty($euro) && !empty($bef)) {
echo "Oh, dus jij denkt het beter te weten he.";
echo "<BR>Het is de bedoeling dat je één veld invult om de waarde van de andere te achterhalen!";
die();
}
// Als het euro veld is ingevoerd
if(!empty($euro)) {
$bef_w = $euro * $huidig_verschil;
echo "EUR ".$euro." = BEF ".$bef_w;
die();
}
// Als het BEF veld is ingevoerd
if(!empty($bef)) {
$euro_w = $bef / $huidig_verschil;
echo "BEF ".$bef." = EUR ".$euro_w;
die();
}
}
}
?>
<form method="post" action="?do=reken">
Euro <input type="text" name="euro"><P>
BEF <input type="text" name="bef"><P>
<input type="submit" value="Omrekenen">
</form>
pgFrank schreef op 11.10.2007 15:27:
Het is hier gewoon je en jij, maak je daar niet druk over! Succes!
Quote:
'ze zei U tegen mij!'Dank u wel
Het is hier gewoon je en jij, maak je daar niet druk over! Succes!
ik denk een belg, doen ze vaker hoor, leer je ze niet af, een belg die ik al een jaar ken zegt nogsteeds u.
edit: tis echt een belg.. :P
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
Misschien moet je nog maar een check er in doen die kijkt of het wel een numerieke waarde is. is_numeric()
Dit is heel leuk gedaan, dat zal ik eens verder bestuderen
Ik moet je wel zeggen dat wij "if(empty)" nog niet gezien hebben in de les.
@ al die anderen je's en jij's
Ja ik ben een Belg en bovendien een beleefd meiske (ik zal er in het vervolg wat op letten)
groetjes
Hilde
bv. op lijn 11, lijn 17,...
Tip: Als je een functie zoekt typ op google "php [functienaam]" dus bijvoorbeld "php die()". De handleiding voor de function staat dan meestal altijd bovenaan!
Niet zo netjes om dat tegen jouw onschuldige server te roepen... die() hoort dan ook niet thuis in een goed script, er zijn betere oplossingen. Met een goede if-elseif-else-constructie en correcte foutafhandeling heb je dit nooit nodig.
Is dit hetzelde of zit hier toch een klein verschil in?
groetjes
Hilde
levert een notice op wanneer $euro niet bestaat. De functie empty() zal een false opleveren en geen notice geven. Dat scheelt weer.
Begin je scripts (zeker tijdens het bouwen en testen) altijd met de volgende regels code:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT); // E_STRICT werkt niet in PHP 4!
// rest van je code
?>
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT); // E_STRICT werkt niet in PHP 4!
// rest van je code
?>
Maar met je uitleg van het eerste ben ik evenver.
Nu kan ik vragen wat is het verschil tussen "een false" en een "notice"?
Plezant he PHP voor beginners?
Hilde
if-else-uitleg waarbij ook TRUE en FALSE aan bod komen.
Een notice is een waarschuwing. if($euro == "") is een leuke controle, maar wat valt er te controleren als de variabele $euro niet bestaat? In dat geval geeft PHP dus een notice, een waarschuwing. Hiermee kun je eenvoudig gaan debuggen, blijkbaar ben je in voorgaande regels code vergeten om deze variabele aan te maken.
Een notice is een waarschuwing. if($euro == "") is een leuke controle, maar wat valt er te controleren als de variabele $euro niet bestaat? In dat geval geeft PHP dus een notice, een waarschuwing. Hiermee kun je eenvoudig gaan debuggen, blijkbaar ben je in voorgaande regels code vergeten om deze variabele aan te maken.
dit interessant leesvoer voor je.
Wellicht is Als je de bef invuld doet hij mooi wat hij moet, maar als je euro invuld zet hij gewoon een 0 bij euro en verder niets.
Willen jullie mijn code nog eens bekijken?
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
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
<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT); // E_STRICT werkt niet in PHP 4!
// rest van je code
if (isset($_POST["verzenden"])){
if(empty($euro) && empty($bef)) {
$boodschap = "Je hebt geen waarde ingevuld!";
$euro = "";
$bef = "";
}
if(!empty($euro) && !empty($bef)) {
$boodschap = "Oh, dus jij denkt het beter te weten he.
<BR>Het is de bedoeling dat je één veld invult om de waarde van de andere te achterhalen!";
$euro = "";
$bef = "";
}
if (isset($_POST["euro"])){
$euro = $_POST["euro"];
$bef = $euro * 40.3399;
$boodschap = "";
}
if (isset($_POST["bef"])){
$bef = $_POST["bef"];
$euro = $bef / 40.3399;
$euro = round($euro,2);
$boodschap = "";
}
}
?>
<form method="POST" action="eurotweerichtingen3.php">
EURO:  <input type="text" name="euro" value="<?php echo $euro;?>">
<br> <br>
BEF:    <input type="text" name="bef" value="<?php echo $bef;?>">
<br> <br>
<input name="verzenden" type="submit" value="Verzenden">
<?php echo $boodschap;?>
</form>
</BODY>
</HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT); // E_STRICT werkt niet in PHP 4!
// rest van je code
if (isset($_POST["verzenden"])){
if(empty($euro) && empty($bef)) {
$boodschap = "Je hebt geen waarde ingevuld!";
$euro = "";
$bef = "";
}
if(!empty($euro) && !empty($bef)) {
$boodschap = "Oh, dus jij denkt het beter te weten he.
<BR>Het is de bedoeling dat je één veld invult om de waarde van de andere te achterhalen!";
$euro = "";
$bef = "";
}
if (isset($_POST["euro"])){
$euro = $_POST["euro"];
$bef = $euro * 40.3399;
$boodschap = "";
}
if (isset($_POST["bef"])){
$bef = $_POST["bef"];
$euro = $bef / 40.3399;
$euro = round($euro,2);
$boodschap = "";
}
}
?>
<form method="POST" action="eurotweerichtingen3.php">
EURO:  <input type="text" name="euro" value="<?php echo $euro;?>">
<br> <br>
BEF:    <input type="text" name="bef" value="<?php echo $bef;?>">
<br> <br>
<input name="verzenden" type="submit" value="Verzenden">
<?php echo $boodschap;?>
</form>
</BODY>
</HTML>
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
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
<?
if($_SERVER['REQUEST_METHOD'] == "POST"){
if (empty($_POST['bedrag'])){
echo "<b>U heeft geen waarde ingevuld!</b><br><br>";
}
elseif(!is_numeric($_POST['bedrag'])){
echo "<b>Ingevoerde waarde is niet nummeriek!</b><br><br>";
} else {
// invoer OK
if($_POST['valuta'] == "euro"){
$boodschap = $_POST['bedrag']." Euro is ".round(($_POST['bedrag'] * 40.3399),2)." BEF.";
}
elseif($_POST['valuta'] == "bef"){
$boodschap = $_POST['bedrag']." BEF is ".round(($_POST['bedrag'] / 40.3399),2)." Euro.";
}
}
}
?>
<form method="POST" action="PAGINA URL">
Bedrag: <input type="text" name="bedrag">
<br><br>
Euro -> BEF <input type="radio" name="valuta" value="euro" checked="checked"><br>
BEF -> Euro <input type="radio" name="valuta" value="bef">
<br> <br>
<input name="verzenden" type="submit" value="Verzenden">
<?php if (isset($boodschap)){ echo $boodschap; }?>
</form>
if($_SERVER['REQUEST_METHOD'] == "POST"){
if (empty($_POST['bedrag'])){
echo "<b>U heeft geen waarde ingevuld!</b><br><br>";
}
elseif(!is_numeric($_POST['bedrag'])){
echo "<b>Ingevoerde waarde is niet nummeriek!</b><br><br>";
} else {
// invoer OK
if($_POST['valuta'] == "euro"){
$boodschap = $_POST['bedrag']." Euro is ".round(($_POST['bedrag'] * 40.3399),2)." BEF.";
}
elseif($_POST['valuta'] == "bef"){
$boodschap = $_POST['bedrag']." BEF is ".round(($_POST['bedrag'] / 40.3399),2)." Euro.";
}
}
}
?>
<form method="POST" action="PAGINA URL">
Bedrag: <input type="text" name="bedrag">
<br><br>
Euro -> BEF <input type="radio" name="valuta" value="euro" checked="checked"><br>
BEF -> Euro <input type="radio" name="valuta" value="bef">
<br> <br>
<input name="verzenden" type="submit" value="Verzenden">
<?php if (isset($boodschap)){ echo $boodschap; }?>
</form>
Het zelfde doel maar dan iets anders uitgewerkt
Gewijzigd op 01/01/1970 01:00:00 door Scrptr
Ik zou nu toch wel eerst de fout in de vorige willen vinden voor ik weer op een andere manier begin.
groetjes
Hilde
Maar wel goed bedacht!!!
sjongejan
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
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
<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT); // E_STRICT werkt niet in PHP 4!
// rest van je code
if (isset($_POST["verzenden"])){
if(empty($euro) && empty($bef)) {
$boodschap = "Je hebt geen waarde ingevuld!";
}
if(!empty($euro) && !empty($bef)) {
$boodschap = "Oh, dus jij denkt het beter te weten he.
<BR>Het is de bedoeling dat je één veld invult om de waarde van de andere te achterhalen!";
}
if (isset($_POST["euro"])){
$euro_post = $_POST["euro"];
$bef = round($euro_post * 40.3399);
$boodschap = "";
}
if (isset($_POST["bef"])){
$bef_post = $_POST["bef"];
$euro = $bef_post / 40.3399;
$euro = round($euro,2);
$boodschap = "";
}
}
?>
<form method="POST" action="eurotweerichtingen3.php">
EURO: <input type="text" name="euro" value="<?php if(isset($euro) && $euro != "0"){ echo $euro; }?>">
<br> <br>
BEF: <input type="text" name="bef" value="<?php if(isset($bef) && $bef != "0"){ echo $bef; }?>">
<br> <br>
<input name="verzenden" type="submit" value="Verzenden">
<?php if(isset($boodschap)){ echo $boodschap;};?>
</form>
</BODY>
</HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT); // E_STRICT werkt niet in PHP 4!
// rest van je code
if (isset($_POST["verzenden"])){
if(empty($euro) && empty($bef)) {
$boodschap = "Je hebt geen waarde ingevuld!";
}
if(!empty($euro) && !empty($bef)) {
$boodschap = "Oh, dus jij denkt het beter te weten he.
<BR>Het is de bedoeling dat je één veld invult om de waarde van de andere te achterhalen!";
}
if (isset($_POST["euro"])){
$euro_post = $_POST["euro"];
$bef = round($euro_post * 40.3399);
$boodschap = "";
}
if (isset($_POST["bef"])){
$bef_post = $_POST["bef"];
$euro = $bef_post / 40.3399;
$euro = round($euro,2);
$boodschap = "";
}
}
?>
<form method="POST" action="eurotweerichtingen3.php">
EURO: <input type="text" name="euro" value="<?php if(isset($euro) && $euro != "0"){ echo $euro; }?>">
<br> <br>
BEF: <input type="text" name="bef" value="<?php if(isset($bef) && $bef != "0"){ echo $bef; }?>">
<br> <br>
<input name="verzenden" type="submit" value="Verzenden">
<?php if(isset($boodschap)){ echo $boodschap;};?>
</form>
</BODY>
</HTML>
Wat heb ik gedaan, ik heb enkele variable van naam veranderd omdat dat niet geheel lekker liep. En ook heb ik onder aan de pagina gebruik gemaakt van isset zodat je geen errors krijgt dat je een variable gebruikt die nog niet gedefineerd is.
Gewijzigd op 01/01/1970 01:00:00 door Scrptr