Eerste Php script unexpected $end?
ik ben bezig met m'n eerste helemaal zelf gescripte php script. Maar nu dit ik vast, denk dat ik iets verkeerd heb gedaan met _GET, maar ik zie de fout niet.
Quote:
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
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
<?php
include('../include/_config.php');
if($_GET['saldo'] == '2.50'){
//hier API 2,50
echo"2,50";
} else {
if($_GET['saldo'] == '5.00'){
//hier API 5,00
echo"5,00";
} else {
if($_GET['saldo'] == '7.50'){
//hier API 7,50
echo"7,50";
} else {
if($_GET['saldo'] == '10.00'){
//hier API 10,00
echo"2,50";
} else {
//hier menu keuze betaling
echo"?saldo=2.50";
echo"?saldo=5.00";
echo"?saldo=7.50";
echo"?saldo=10.00";
echo"Keuze menu hier";
}
?>
include('../include/_config.php');
if($_GET['saldo'] == '2.50'){
//hier API 2,50
echo"2,50";
} else {
if($_GET['saldo'] == '5.00'){
//hier API 5,00
echo"5,00";
} else {
if($_GET['saldo'] == '7.50'){
//hier API 7,50
echo"7,50";
} else {
if($_GET['saldo'] == '10.00'){
//hier API 10,00
echo"2,50";
} else {
//hier menu keuze betaling
echo"?saldo=2.50";
echo"?saldo=5.00";
echo"?saldo=7.50";
echo"?saldo=10.00";
echo"Keuze menu hier";
}
?>
het zal vast niet de schoonheid prijs krijgen, maar is het wel mogelijk zo als ik het doe, of doe ik het helemaal verkeert?
MVG jurre
isset().
Getallen horen niet tussen quotes te staan.
Gebruik inspringen om het geheel overzichtelijker te maken.
Wat gaat er fout?
Je checkt niet of de $_GET wel bestaat. Zie Getallen horen niet tussen quotes te staan.
Gebruik inspringen om het geheel overzichtelijker te maken.
Wat gaat er fout?
Daarnaast is het wijze leer om bij hetgeen als je meerdere keren elseif moet toepassen dat je de constructie verbouwt naar een switch, zoals hieronder:
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
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
<?php
include('../include/_config.php');
if (isset($_GET['saldo']) && is_numeric($_GET['saldo'])) {
switch ($_GET['saldo']) {
case 2.50:
echo '&eur;2,50';
exit;
case 5.00:
echo '&eur;5,00';
exit;
case 7.50:
echo '&eur;7,50';
exit;
case 10.00:
echo '&eur;10,00';
exit;
}
//hier menu keuze betaling
echo"?saldo=2.50";
echo"?saldo=5.00";
echo"?saldo=7.50";
echo"?saldo=10.00";
echo"Keuze menu hier";
}
else {
echo 'Er is geen of een onjuist saldo ingevoerd';
}
?>
include('../include/_config.php');
if (isset($_GET['saldo']) && is_numeric($_GET['saldo'])) {
switch ($_GET['saldo']) {
case 2.50:
echo '&eur;2,50';
exit;
case 5.00:
echo '&eur;5,00';
exit;
case 7.50:
echo '&eur;7,50';
exit;
case 10.00:
echo '&eur;10,00';
exit;
}
//hier menu keuze betaling
echo"?saldo=2.50";
echo"?saldo=5.00";
echo"?saldo=7.50";
echo"?saldo=10.00";
echo"Keuze menu hier";
}
else {
echo 'Er is geen of een onjuist saldo ingevoerd';
}
?>
Verder is je benadering in je voorbeeld een beetje redudant. Ik neem aan dat je bijv. ook nog modificaties wil uitvoeren bij elk van de situaties?
Heel veel succes met het scripten :)
Gewijzigd op 01/06/2011 22:59:30 door Erwin Renkema
Eerste Php script unexpected $end?
Ik zie er niks van terug in je onderwerp. Is dit al opgelost? Zo niet, dan wil ik als tip geven dat je alle {} moet nakijken. Wanneer er teveel of te weinig zijn dan loopt je script vast. Dan krijg je voornamelijk een dergelijke error.
Ik zie dat je include gebruikt... moet het niet .inc.php zijn? Dat is tenminste wat ik in de tutorials zie.
Inspringen geeft overzicht.
Exact jouw code maar dan met inspringen.
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
include('../include/_config.php');
if($_GET['saldo'] == '2.50')
{
//hier API 2,50
echo"2,50";
}
else
{
if($_GET['saldo'] == '5.00')
{
//hier API 5,00
echo"5,00";
}
else
{
if($_GET['saldo'] == '7.50')
{
//hier API 7,50
echo"7,50";
}
else
{
if($_GET['saldo'] == '10.00')
{
//hier API 10,00
echo"2,50";
}
else
{
//hier menu keuze betaling
echo"?saldo=2.50";
echo"?saldo=5.00";
echo"?saldo=7.50";
echo"?saldo=10.00";
echo"Keuze menu hier";
}
?>
include('../include/_config.php');
if($_GET['saldo'] == '2.50')
{
//hier API 2,50
echo"2,50";
}
else
{
if($_GET['saldo'] == '5.00')
{
//hier API 5,00
echo"5,00";
}
else
{
if($_GET['saldo'] == '7.50')
{
//hier API 7,50
echo"7,50";
}
else
{
if($_GET['saldo'] == '10.00')
{
//hier API 10,00
echo"2,50";
}
else
{
//hier menu keuze betaling
echo"?saldo=2.50";
echo"?saldo=5.00";
echo"?saldo=7.50";
echo"?saldo=10.00";
echo"Keuze menu hier";
}
?>
Dit laat zien dat je diverse { niet afsluit. Tevens laat dat zien dat dit niet werkt.
Vergezocht, echter kan het daarnaast soms ook zijn dat als je bijv. bestanden met Windows regeleindes gebruikt in de Apache omgeving dat er loze ruimte aan het begin of eind van het bestand zit wat een soortgelijke error kan veroorzaken. Op wat voor systeem je ook werkt kijk altijd of er geen extra spaties aan het eind van de PHP tag zit. Het klinkt vreemd, maar het is zelfs bewezen dat in een PHP bestand zonder HTML nog beter geen eindtag (?>) gebruikt kan worden.
ik mis een hele lading }
zo ff snel geteld mis ik }, dan ga ik dat ff oplossen.