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

[PHP] unexpected ';'

Pagina: 1
Acties:
  • 613 views

Verwijderd

Topicstarter
Hoi,

Ik ben sinds kort begonnen met PHP en heb wat stof van mijn broer zijn opleiding, het gaat over een soort kalender. Maar ik krijg een error die ik niet begrijp, het rare is dat dit stukje code niet van mij is maar uit het uitgeprinte boekje komt.

Dit is de foutmelding:
Bedankt voor de Hulp!

Het probleem is verholpen maar verder in het script is er een andere error die ik ook niet begrijp:
( ! ) Parse error: syntax error, unexpected ']', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\php\PHP.php on line 57
En dit is de PHP:

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
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html">
<html>
    <head>
        <title>PHP</title>
        <link rel="stylesheet" type="text/css" href="PHP.php" />
    </head>
    <body>
        <?php
            $loc_nl = setlocale(LC_ALL, 'nld_nld');
            
            if (isset ($_POST['hjaar'])) {
                $jaar = $_POST['hjaar'];
            } else {
                $jaar = idate('Y');
            }
            if (isset ($_POST['volgende'])) {
                $jaar ++;
            }
            if (isset ($_POST['vorige'])) {
                $jaar --;
            }
            
            $maand = 1;
            
            $jaartal = strftime("%Y", mktime(0, 0, 0, 1, 1, $jaar));
            
            echo <<<EOD
                <br/>
                <form action="" method="post">
                    <table>
                        <tr>
                            <td><input type="submit" name="vproge" value="<<" /></td>
                            <td> $jaartal </td>
                            <td><input type="submit" name="volgende" value=">>" /></td>
                        </tr>
                    </table>
                    <input type="hidden" name="hjaar" value="$jaar"/>
                </form>
            EOD;
            
            printJaar($jaar);
            
            function eersteDagnaamInMaand($maand,$jaar) {
                $eerste = mktime(0,0,0,$maand,1,$jaar);
                $edag = idate('%A',$eerste);
                return $edag;
            }
            
            function aantalDagenInMaand($maand,$jaar) {
                $eerste = mktime(0,0,0,$maand,1,$jaar);
                $ldag = idate('t',$eerste);
                return $ldag;
            }
            
            function printJaar($jaar) {
                for ($m=1;$m<=12;$m++) {
                    $maanden[] = strftime ("%B", mktime(0,0,0,$m,1,$jaar));
                    $eerstedagen[] = eersteDagnaamInMaand($m,$jaar);
                    $aantaldagen[] = AantalDagenInMaand($m,$jaar);
                }
                
                echo '<table border=1>';
                    echo "<tr>";
                        echo "<th>Maand</th>";
                        echo "<th>Eerste<br/>dag</th>";
                        echo "<th>Aantal<br/>dagen</th>";
                    echo "</tr>";
                
                for ($m=1;$m<=12;$m++) {
                    echo "<tr>";
                    echo "<td class='maandkolom'>".$maanden[$m-1]."</td>";
                    echo "<td>".$eerstedagen[$m-1].</td>";
                    echo "<td>".$aantaldagen[$m-1].</td>";
                    echo "</tr>";
                }
            echo '</tr></table>';
        }
        ?>
            </body>
        </html>


In het boekje, en zover ik begrijp moet er toch echt een ";" komen te staan. Ik zou niet weten waar ik überhaupt op moet zoeken om een eventuele fix te vinden.

Weet iemand hier misschien wat er mis mee is?


Bedankt.

[ Voor 4% gewijzigd door Verwijderd op 06-09-2013 22:52 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

D'r moet een ; ja, maar er mist iets vlak ervoor. (Overigens, drie regels eronder maak je dezelfde fout.)

[ Voor 36% gewijzigd door CyBeR op 06-09-2013 22:33 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 18:22
Moet line 17 niet

$jaar++;

zijn

Verwijderd

Topicstarter
CyBeR schreef op vrijdag 06 september 2013 @ 22:32:
D'r moet een ; ja, maar er mist iets vlak ervoor. (Overigens, drie regels eronder maak je dezelfde fout.)
Allebei erg bedankt, het was een typefout :o , waarschijnlijk mijn volgende error ook, maar ik ben of blind, of het is gewoon hetzelfde als in het boekje.

Heb wel een nieuwe error:
Parse error: syntax error, unexpected ']', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\php\PHP.php on line 57
Bedankt

Edit:

Ik denk dat ik het probleem zie...

[ Voor 19% gewijzigd door Verwijderd op 06-09-2013 22:51 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Daar moet iets tussen de [] staan. Als je je voorbeeld goed nakijkt zul je dat vast zien.

All my posts are provided as-is. They come with NO WARRANTY at all.


Verwijderd

Topicstarter
Mmh, in mijn voorbeeld staat er niets tussen de [], er staat gewoon "$maanden[] = strftime("%B", mktim....".

Dan denk ik dat er iets mis is met met voorbeeld?

EDIT:

Heb even de huidige versie in mijn originele post gezet.

Ik wilde even melden dat na dit gedeelte notepad++ geen kleurtjes meer geeft aan de php gedeeltes, alles is dezelfde kleur grijs:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
            echo <<<EOD
                <br/>
                <form action="" method="post">
                    <table>
                        <tr>
                            <td><input type="submit" name="vproge" value="<<" /></td>
                            <td> $jaartal </td>
                            <td><input type="submit" name="volgende" value=">>" /></td>
                        </tr>
                    </table>
                    <input type="hidden" name="hjaar" value="$jaar"/>
                </form>
            EOD;

[ Voor 64% gewijzigd door Verwijderd op 06-09-2013 22:54 ]


  • mrc4nl
  • Registratie: September 2010
  • Laatst online: 20:31

mrc4nl

Procrastinatie expert

we zijn geen helpdesk.Ga eerst zelf gewoon wat proberen :) en als je er dan niet uitkomt vraag je het hier. Een goede editor die fouten laat zien helpt bij dit soort problemen. (ik heb er ervaring mee als ik denk even snel in wordpad wat kan fixen,)

[ Voor 13% gewijzigd door mrc4nl op 06-09-2013 22:56 ]

ora et labora


  • keken
  • Registratie: December 2003
  • Laatst online: 18:19
mrc4nl schreef op vrijdag 06 september 2013 @ 22:54:
we zijn geen helpdesk.Ga eerst zelf gewoon wat proberen :) en als je er dan niet uitkomt vraag je het hier. Een goede editor die fouten laat zien helpt bij dit soort problemen. (ik heb er ervaring mee als ik denk even snel in wordpad wat wil fixen,)
Mee eens, al is de huidige fout redelijk lastig: "EOD;" moet je helemaal links uitlijnen, die mag niet netjes uitgelijnd worden met de rest. Daarna ga je echter nog wat fouten tegenkomen die je wel zelf zou moeten kunnen oplossen met de meldingen die je krijgt.

Edit: dat is dus ook de reden dat het daarna grijs is in notepad++

[ Voor 5% gewijzigd door keken op 06-09-2013 22:57 ]


  • CurlyMo
  • Registratie: Februari 2011
  • Nu online
Verwijderd schreef op vrijdag 06 september 2013 @ 22:51:
Ik wilde even melden dat na dit gedeelte notepad++ geen kleurtjes meer geeft aan de php gedeeltes, alles is dezelfde kleur grijs:
Dat wilde ik dus even laten zien met een screenshot maar is niet meer nodig :)

[ Voor 63% gewijzigd door CurlyMo op 06-09-2013 23:00 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Verwijderd

Topicstarter
Bedankt, sorry voor de slechte fouten, ik ben nog een beetje overweldigt. Ik zal wat meer zelf proberen.

Ik zal ook een goede editor zoeken die errors laat zien, dat gaat denk ik wel helpen.

laatste edit:

Ben alle errors die nog volgde nu door. Erg bedankt allemaal.

[ Voor 17% gewijzigd door Verwijderd op 06-09-2013 23:14 ]


  • Cartman!
  • Registratie: April 2000
  • Niet online
Met een IDE had je dit direct zelf kunnen zien, NetBeans is wel een goede gratis IDE en bujv. PhpStorm is een (imo) iets betere betaalde.

  • hylke94
  • Registratie: Maart 2012
  • Laatst online: 23-09 16:26
Ik gebruik ook al jaren PhpStorm. Ik ben er dik tevreden mee. En hij controleert ook meer dan alleen php en html....

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

NMe

Quia Ego Sic Dico.

Sorry, maar syntaxfouten moet je toch écht zelf kunnen vinden. Dat is gewoon een kwestie van een goede IDE gebruiken en goed de foutmelding lezen.

'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.