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.
<?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";
}
?>
het zal vast niet de schoonheid prijs krijgen, maar is het wel mogelijk zo als ik het doe, of doe ik het helemaal verkeert?
Het is ook mooier om floats (decimale getallen) buiten quotes te plaatsen. PHP zal er niet moeilijk om doen, maar het is later voor het terug lezen ook duidelijker of je er werkelijk een float of string (tekst) mee bedoeld.
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:
<?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';
}
?>
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?
In de titel staat dat je het volgende probleem hebt:
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.
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.