Kleine toets
Opdracht 1:
Het is een formulier waarmee een rit met het openbaar vervoer in Amsterdam kan worden berekend. Deze prijs is afhankelijk van de leeftijd en van het aantal zones van het rit. De prijs wordt als volgt berekend:
Personen jonger dan 4 jaar reizen gratis
Voor personen van 65 jaar of ouder wordt de prijs als volgt berekend:
$prijs= 0.55 * ($aantalzones +1)
Voor alle overige personen wordt de prijs als volgt berekend:
$prijs= 0.9 * ($aantalzones +1)
a. Maak dit HTML formulier. De waarden moeten gepost worden naar ritprijs.php (10 punten)
b Maak de applicatie af met het bestand ritprijs.php waarmee de juiste prijs van een rit wordt berekend (15 punten).
Opdracht 2:
Uit een klein onderzoek naar de leeftijden van reizigers zijn de volgende waarden naar voren gekomen:
12, 34, 22, 3, 18, 67, 2, 15, 33, 55, 11
a. Maak een .php programma waarin je eerst deze waarden in een array met de naam $leeftijden zet (8 punten)
b. Breid het programma daarna uit met een mogelijkheid om het aantal volwassenen (leeftijd groter of gelijk aan 18) te bepalen met behulp van: de array, een for-each statement en een if-statement (12 punten)
------------------------------------------------------------------------------
Dat is dus de bedoeling.. Ik hoef niet perse antwoorden ofzo (zou het niet erg vinden), maar hoe werken de statements die ik moet gebruiken? Hoe stuur je de PHP-gegevens door, en hoe haal je ze op andere pagina's op?
Gewijzigd op 01/01/1970 01:00:00 door Ane Lenstra
Ik zou beginnen met een select in je formulier waarin men de leeftijd kan kiezen.
Handig ja, maar dat snap ik ook nog wel.. HTML is niet moeilijk, PHP is ontzettend lastig als je er weinig van weet..
censuur:
Beetje jammer als je het allemaal voor zou kauwen. Heb het dus maar even weggehaald, stuur hem liever de kant op waar die heen moet, dan leert hij er ook van.
Het was voor iemands school.
mod_edit:Robert Deiman:
Wel jammer dat je nu iemand zijn schoolwerk in zijn geheel gaat zitten voorkouwen.. Ze moeten er ook wat van leren, dus in de juiste richting sturen is een betere optie!!
EDIT: Daar zit wat in!
Gewijzigd op 01/01/1970 01:00:00 door Joris van Rijn
Het formulier maken lukt wel, en een action toevoegen naar ritprijs.php lukt je ook vast wel. Het verwerken van je formulier kan je hier wel vinden:
http://phphulp.nl/php/tutorials/8/575/1487/
Voor de volgende opdracht krijg je een variabele die er zo uit ziet:
Kijk voor het omzetten naar een array eens hier: explode
En voor de werking van de foreach
Als je dit voor school moet doen, dan heb je toch lesstof over dit onderwerp gehad en zijn basis dingen als een array, een for-each statement en het doorsturen van gegevens via een formulier uitgelegd? Met de PHP handleiding erbij moet je er dan m.i. toch uit kunnen komen. Anders moet je je toch afvragen of je de juiste opleiding hebt gekozen...
Wim Smit schreef op 25.06.2008 10:27:
Als je dit voor school moet doen, dan heb je toch lesstof over dit onderwerp gehad en zijn basis dingen als een array, een for-each statement en het doorsturen van gegevens via een formulier uitgelegd? Met de PHP handleiding erbij moet je er dan m.i. toch uit kunnen komen. Anders moet je je toch afvragen of je de juiste opleiding hebt gekozen...
Precies, daarom heb ik ook aan joris gevraagd of hij niet meer wil voorkauwen, (pm) en Ane zelf een beetje de juiste richting op gestuurd, met de PHP handleiding. Moet hem toch wel lukken dacht ik zo.
http://www.i-cey.net/handleidingen/php-programmeren.php
Dat is op zich een goeie tutorial om te beginnen met programmeren. Helaas is hij niet helemaal af, en moet je teruggrijpen op andere tutorials om het formulier te verwerken.
Dat is op zich een goeie tutorial om te beginnen met programmeren. Helaas is hij niet helemaal af, en moet je teruggrijpen op andere tutorials om het formulier te verwerken.
Nogmaals sorry.
Joris schreef op 25.06.2008 10:38:
Nogmaals sorry.
Geen probleem, excuus was niet nodig, maar moest gewoon even gezegd worden.
Allen dank! Het was ook niet de bedoeling om alles te laten doen, want daar leer je niks van. Had ook geen zin gehad, want de leraar wil dat ik het uit kan leggen. Maar met de info en links die ik hier heb gekregen, kan ik de toets denk ik wel maken. Ik zal het eens proberen! Nogmaals heel erg bedankt!
Weet iemand toevallig ook hoe je in een tekstveld in kan stellen dat alleen cijfers kunnen worden ingevoerd?
Met wat javascript lukt dat vast, met google moet vast een kant en klaar scriptje te vinden zijn.
ctype_digit bijv. ;-)
Of je controleert het pas als je het formulier post. Via Ik heb het formulier klaar, en ritprijs.php kan de gegevens uit form1.html halen
Quote:
Personen jonger dan 4 jaar reizen gratis
Voor personen van 65 jaar of ouder wordt de prijs als volgt berekend:
$prijs= 0.55 * ($aantalzones +1)
Voor alle overige personen wordt de prijs als volgt berekend:
$prijs= 0.9 * ($aantalzones +1)
Voor personen van 65 jaar of ouder wordt de prijs als volgt berekend:
$prijs= 0.55 * ($aantalzones +1)
Voor alle overige personen wordt de prijs als volgt berekend:
$prijs= 0.9 * ($aantalzones +1)
Nu moet hij aan de hand van die gegevens de prijzen berekenen.
Met welke variabele kan ik dit het beste doen doen?
$k = 3;
echo $i + $k;
Wat ik wil zeggen, je kan in php gewoon de rekenkundige operators gebruiken die je in het echte leven ook gebruikt
+, -, *, /
Wil je kwadraten, hogere machten, wortels, grotere machts wortels, gonio, ed gebruiken verwijs ik door naar de math pagina van php.net
Edit:
$aantalzones = 2;
$prijs1 = 0.55 * ($aantalzones +1);
$prijs2 = 0.9 * ($aantalzones +1);
echo 'Prijs 65+'.$prijs1.'<br />Prijs normaal:'.$prijs2
$aantalzones = 2;
$prijs1 = 0.55 * ($aantalzones +1);
$prijs2 = 0.9 * ($aantalzones +1);
echo 'Prijs 65+'.$prijs1.'<br />Prijs normaal:'.$prijs2
Gewijzigd op 01/01/1970 01:00:00 door Citroen Anoniem Graag
Dus je wijst 22 aan "$i", om hem vervolgens in echo op te vragen en te gebruiken?
Ik ga eens even wat dingen proberen, bedankt!
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
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
///Het is een formulier waarmee een rit met het openbaar vervoer in Amsterdam kan worden berekend. Deze prijs is afhankelijk van de leeftijd en van het aantal zones van het rit. De prijs wordt als volgt berekend:
Personen jonger dan 4 jaar reizen gratis
Voor personen van 65 jaar of ouder wordt de prijs als volgt berekend:
$prijs= 0.55 * ($aantalzones +1)
Voor alle overige personen wordt de prijs als volgt berekend:
$prijs= 0.9 * ($aantalzones +1)
a. Maak dit HTML formulier. De waarden moeten gepost worden naar ritprijs.php (10 punten)
b Maak de applicatie af met het bestand ritprijs.php waarmee de juiste prijs van een rit wordt berekend (15 punten).
///
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$aErrors = array();
$aData = array();
$aFormulierVelden = array('leeftijd', 'zones');
foreach($aFormulierVelden as $sVeld)
{
if(isset($_POST[$sVeld]))
{
$sValue = trim($_POST[$sVeld]);
$aData[$sVeld] = $sValue;
}
else
{
$aErrors[] = 'Het veld '.$sVeld.' is niet gepost!';
}
}
if(empty($aErrors))
{
echo '<p>Je hebt ingevoerd:</p>';
echo '<p>Leeftijd: '.$aData['leeftijd'].'<br />';
echo 'Aantal zones: '.$aData['zones'].'</p>';
}
else
header('Refresh: 3; url=form1.html');
foreach($aErrors as $sError)
{
echo '<p style="color:red">'.$sError.'</p>';
}
}
else
{
$aantalzones = $zones;
$prijs1 = 0.55 * ($aantalzones +1);
$prijs2 = 0.9 * ($aantalzones +1);
}
{
echo 'Prijs:'.$prijs2.';
echo 'Prijs 65+:'.$prijs1.';
}
?>
Personen jonger dan 4 jaar reizen gratis
Voor personen van 65 jaar of ouder wordt de prijs als volgt berekend:
$prijs= 0.55 * ($aantalzones +1)
Voor alle overige personen wordt de prijs als volgt berekend:
$prijs= 0.9 * ($aantalzones +1)
a. Maak dit HTML formulier. De waarden moeten gepost worden naar ritprijs.php (10 punten)
b Maak de applicatie af met het bestand ritprijs.php waarmee de juiste prijs van een rit wordt berekend (15 punten).
///
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$aErrors = array();
$aData = array();
$aFormulierVelden = array('leeftijd', 'zones');
foreach($aFormulierVelden as $sVeld)
{
if(isset($_POST[$sVeld]))
{
$sValue = trim($_POST[$sVeld]);
$aData[$sVeld] = $sValue;
}
else
{
$aErrors[] = 'Het veld '.$sVeld.' is niet gepost!';
}
}
if(empty($aErrors))
{
echo '<p>Je hebt ingevoerd:</p>';
echo '<p>Leeftijd: '.$aData['leeftijd'].'<br />';
echo 'Aantal zones: '.$aData['zones'].'</p>';
}
else
header('Refresh: 3; url=form1.html');
foreach($aErrors as $sError)
{
echo '<p style="color:red">'.$sError.'</p>';
}
}
else
{
$aantalzones = $zones;
$prijs1 = 0.55 * ($aantalzones +1);
$prijs2 = 0.9 * ($aantalzones +1);
}
{
echo 'Prijs:'.$prijs2.';
echo 'Prijs 65+:'.$prijs1.';
}
?>
Hij (PHPDesigner) geeft echter bij de laatste echo constant foutmeldingen aan.. Iemand enig idee?
Je sluit de echo niet af? Kijk maar eens naar de kleuren.
Hoe sluit ik die echo af? Ik zie namelijk geen verschil ten opzichte van de andere echo's, die eerder in de code voorkomen
Ik wel. Je opent een echo met '. Dan sluit je hem om die variabele te plaatsen ('). En dan na de variabele open je hem weer ('). Datzelfde geldt overigens voor je tweede echo daar. Je opent 2x maar sluit maar 1x af ;-).