Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[php]syntax error op if voorwaarde

Pagina: 1
Acties:
  • 247 views

Onderwerpen


  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
ik ben op het moment bezig met een cursusje php. Ik maak nu een oefening waarbij je één index maakt met één menu waarbij vervolgens in de link een variable meegegeven wordt om te bepalen welke pagina weergegeven moet worden. om code injecties te voorkomen staat in de cursus ook hoe je met de functies file_exists en isset moet omgaan. nou heb ik het volgende gemaakt:
code:
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="style.css" type="text/css" />
    <title>Contact</title>
</head>
<body>

    <div id="menu">
<?php require ('menu.php') ?>
    </div>
    
    <div id="content">
<?php if (!isset($_GET['page'])) {
            include ('inc/home.html');
            }
        else {
        $pagina = $_GET['page'].".html"
        if (file_exists($pagina)){
        include ($pagina)
        }
        else {
        echo "pagina bestaat niet"
        }
        }
        ?>
    </div>

</body>
</html>

het probleem is dus dat er een syntax error wordt opgeroepen in regel 20. ik heb al meerdere keren de code gechecked met een ander voorbeeld uit de cursus en voorbeelden van google. ik heb het echt precies zo gedaan. ik heb geen idee wat ik nou precies fout doe. kan iemand mij dit uitleggen of in de juiste richting sturen? alvast hartelijk bedankt

p.s.:misschien doe ik wel iets heel doms fout maar ik ben net begonnen met php

  • X_lawl_X
  • Registratie: September 2009
  • Laatst online: 16:26
PHP:
1
$pagina = $_GET['page'].".html"


;

edit: En ook op andere plaatsen ontbreekt dat.

[ Voor 39% gewijzigd door X_lawl_X op 04-08-2011 10:53 ]


  • SumBeam
  • Registratie: Maart 2006
  • Laatst online: 13:13
Veelgemaakte fout van mij in het begin...

Tip: Je weet hoe je regels moet afsluiten in PHP? Ik zie dat hier al 4x voorkomen in 18 regels code

  • erwin85
  • Registratie: Juli 2002
  • Laatst online: 11-11 20:19
zoals hier boven wordt gezegd, je vergeet je regel af te sluiten met een ;

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
ok hartelijk bedankt voor de snelle reacties. ik heb het aangepast en heb nu dit:
code:
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="style.css" type="text/css" />
    <title>Contact</title>
</head>
<body>

    <div id="menu">
<?php require ('menu.php') ?>
    </div>
    
    <div id="content">
<?php if (!isset($_GET['page'])) {
            include ('inc/home.html');
            }
        else {
        $pagina = $_GET['page'].".html";
        if (file_exists($pagina)){
        include ($pagina);
        }
        else {
        echo "pagina bestaat niet";
        }
?>
    </div>
</body>
</html>

alleen nu komt hij met dit aanzetten:
syntax error, unexpected $end in <path>\oefening1.php on line 29
maar op regel 29 staat alleen de afsluitende html tag. daar kan toch niks fout gaan?

  • X_lawl_X
  • Registratie: September 2009
  • Laatst online: 16:26
Dat betekend gewoon dat je ergens een if / else bent vergeten af te sluiten in de code.

  • Gtoniser
  • Registratie: Januari 2008
  • Laatst online: 08:23
De openende else { op regel 18 word nergens afgesloten.
Beste is om altijd gebruik te maken van tabs als je een bracket opent, dan zie je direct of je ergens iets vergeet.

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
hartelijk bedankt allemaal! het werkt nu allemaal! hier kan nu wel een slotje op

  • SumBeam
  • Registratie: Maart 2006
  • Laatst online: 13:13
Dat ^^... En je hebt nog niet overal een ; staan... (regel 11?)


Overigens... Ik hoop niet dat je kladblok gebruikt. Download Notepad++ ofzo. Deze helpt je ook bij fouten die je maakt en had je dus niet hier op het forum hoeven posten ;)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Sorry, maar syntaxfouten zijn altijd te wijten aan onoplettendheid en kun je prima zelf oplossen. Bij een syntaxfout altijd de regel ervóór check op fouten, en zorg dat je met een echte PHP-IDE werkt en niet zomaar met Notepad ofzo, die vertelt je dit soort dingen gewoon. En last but not least: lijn je code zo uit met tabs dat de begin-{ en eind-} altijd op dezelfde kolom uitgelijnd staan.

Dit topic gaat in elk geval dicht omdat we hier toch echt van je verwachten dat je je eigen syntaxfouten kan oplossen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.