eenvoudig formulier met onpage verwerking

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Hilde

hilde

11/10/2007 15:06:00
Quote Anchor link
Hoi allemaal,
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)
PHP script in nieuw venster Selecteer het PHP script
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
<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
 
PHP hulp

PHP hulp

11/01/2025 20:42:52
 
Frank -

Frank -

11/10/2007 15:15:00
Quote Anchor link
$_POST["$euro"]
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.
 
Hilde

hilde

11/10/2007 15:23:00
Quote Anchor link
Jij kan mij rapper helpen dan dat ik het bericht juist (code tags eerst vergeten) kan plaatsen.
De bef rekent hij uit, de euro nog niet, maar ik kan nu eerst weer wat verder zoeken
Dank u wel
 
Frank -

Frank -

11/10/2007 15:27:00
Quote Anchor link
Quote:
Dank u wel
'ze zei U tegen mij!'

Het is hier gewoon je en jij, maak je daar niet druk over! Succes!
 
Gerben Jacobs

Gerben Jacobs

11/10/2007 15:29:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>
 
Onbekend Onbekend

Onbekend Onbekend

11/10/2007 15:33:00
Quote Anchor link
pgFrank schreef op 11.10.2007 15:27:
Quote:
Dank u wel
'ze zei U tegen mij!'

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
 
Gerben Jacobs

Gerben Jacobs

11/10/2007 15:48:00
Quote Anchor link
Misschien moet je nog maar een check er in doen die kijkt of het wel een numerieke waarde is. is_numeric()
 
Hilde

hilde

11/10/2007 15:55:00
Quote Anchor link
@Gerben Jacops,
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
 
Hilde

hilde

11/10/2007 16:00:00
Quote Anchor link
Wat betekent "die();"
bv. op lijn 11, lijn 17,...
 
Gerben Jacobs

Gerben Jacobs

11/10/2007 16:06:00
Quote Anchor link
Dat ie totaal stopt met het script. Er wordt niks meer ge-output.

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!
 
Frank -

Frank -

11/10/2007 16:11:00
Quote Anchor link
'die' is engels voor 'sterf'.

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.
 
Hilde

hilde

11/10/2007 17:33:00
Quote Anchor link
In plaats van if (empty($euro)) hebben wij in de les if ($euro == "") gebruikt
Is dit hetzelde of zit hier toch een klein verschil in?

groetjes

Hilde
 
Frank -

Frank -

11/10/2007 17:40:00
Quote Anchor link
if ($euro == "")
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)
PHP script in nieuw venster Selecteer het PHP script
1
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

?>
 
Hilde

hilde

11/10/2007 17:49:00
Quote Anchor link
ok voor die laatste, zal ik zeker doen.
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
 
Frank -

Frank -

11/10/2007 17:54:00
Quote Anchor link
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.
 
Arjan Kapteijn

Arjan Kapteijn

11/10/2007 18:21:00
Quote Anchor link
Wellicht is dit interessant leesvoer voor je.
 
Hilde

hilde

12/10/2007 16:17:00
Quote Anchor link
Ik heb een poging gedaan om met al jullie goede raad een nieuw en duidelijker php bestand te maken, maar het werkt dus weer niet volledig.
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)
PHP script in nieuw venster Selecteer het PHP script
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
<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:&nbsp              <input type="text" name="euro" value="<?php echo $euro;?>">
<br> <br>
BEF:&nbsp&nbsp&nbsp&nbsp<input type="text"  name="bef" value="<?php echo $bef;?>">
<br> <br>
<input name="verzenden" type="submit" value="Verzenden">
 <?php echo $boodschap;?>
</form>
</BODY>
</HTML>
 
Scrptr

Scrptr

12/10/2007 20:00:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
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
 
Hilde

hilde

13/10/2007 08:22:00
Quote Anchor link
Ja dit is weer een heel ander methode en ziet er heel leuk uit, alleen bij deze krijg ik nooit een uitgerekend bedrag.
Ik zou nu toch wel eerst de fout in de vorige willen vinden voor ik weer op een andere manier begin.
groetjes
Hilde
 
Voornaam Achternaam

Voornaam Achternaam

13/10/2007 08:26:00
Quote Anchor link
Volgens mij kan je dit ook in javascript maken;)

Maar wel goed bedacht!!!

sjongejan
 
Scrptr

Scrptr

13/10/2007 08:49:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<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
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.