Eerste Php script unexpected $end?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jurre Koets

jurre Koets

01/06/2011 21:48:11
Quote Anchor link
Hallo,

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)
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
<?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?



MVG jurre
 
PHP hulp

PHP hulp

27/04/2024 06:02:06
 
- SanThe -

- SanThe -

01/06/2011 21:59:55
Quote Anchor link
Je checkt niet of de $_GET wel bestaat. Zie isset().
Getallen horen niet tussen quotes te staan.

Gebruik inspringen om het geheel overzichtelijker te maken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if(....)
{

    // inspringen
}
else
{
    // inspringen
}
?>


Wat gaat er fout?
 
Erwin Renkema

Erwin Renkema

01/06/2011 22:56:36
Quote Anchor link
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:

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
<?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?

Heel veel succes met het scripten :)
Gewijzigd op 01/06/2011 22:59:30 door Erwin Renkema
 
Sven b

Sven b

01/06/2011 23:33:26
Quote Anchor link
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.
 
- SanThe -

- SanThe -

02/06/2011 00:24:10
Quote Anchor link
Ik had de $end error niet opgemerkt in de titel.
Inspringen geeft overzicht.

Exact jouw code maar dan met inspringen.

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
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.
 
Erwin Renkema

Erwin Renkema

02/06/2011 10:16:54
Quote Anchor link
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.
 
Tobias Tobias

Tobias Tobias

02/06/2011 10:47:46
Quote Anchor link
ik mis een hele lading }
 
Jurre Koets

jurre Koets

06/06/2011 16:54:31
Quote Anchor link
zo ff snel geteld mis ik }, dan ga ik dat ff oplossen.
 



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.