Vraag & Antwoord

Webprogrammeren & scripting

plaats bericht in gastenboek

Anoniem
InZane
22 antwoorden
  • ik heb een plaats berichtscript gemaak voor een gastenboek

    allen nu krijg ik telkens deze fout
    [code:1:70dfa9466e]
    Parse error: parse error, unexpected T_ELSE in c:\program files\apache group\apache\htdocs\schalm\gastenboek\plaatsbericht.php on line 54
    [/code:1:70dfa9466e]

    en dit is het script

    [code:1:70dfa9466e]<?php

    include("config.php");

    if ($_GET[actie] == "")
    {
    echo "<hr width='100%' align='left'>
    <form method='POST' action='plaatsbericht.php?actie=nieuw_bericht'>
    <table>
    <tr>
    <td align='right'>Name</td>
    <td>
    <input type='text' name='naam' size='20'></td>
    </tr>
    <tr><td align='right'>E-mail address</td>
    <td>
    <input type='text' name='email' size='20'></td>
    </tr>
    <tr><td align='right'>Homepage URL</td>
    <td>
    <input type='text' name='website' size='20'></td>
    </tr>
    <tr><td align='right'>Bericht</td>
    <td>
    <textarea rows='7' name='bericht' cols='32'></textarea></td>
    </tr>
    <tr><td></td><td>&nbsp;</td>
    </tr>
    </table>
    <br>
    <input name='submit' type='submit' id='submit' value='plaats'></p>
    </form>
    </a><br>
    <hr width='100%' align='left'>";

    }

    elseif ($_GET[actie] == "nieuw_bericht")
    {
    if ($_POST[submit])
    {
    if(!($naam)){
    echo "Je moet een naam invullen!";
    }
    else if(!($bericht)){
    echo "Je hebt geen bericht ingevult!";
    }
    else {
    $query = "INSERT INTO gastenboek (naam, email, website, bericht) VALUES ('$_POST[naam]', '$_POST[email]', '$_POST[website]', '$_POST[bericht]')";
    mysql_query($query) or die (mysql_error());

    echo "bedankt voor u bericht";
    }
    else
    {
    echo "sorry u heeft een fout ondekt mail dit naar de webmaster of probeer het overnieuw";
    }
    }

    ?>[/code:1:70dfa9466e]

    ik heb het al een paar keer door gekenen alleen ik snap er niks van??

    alvast bedankt Tijl
  • Je hebt 2 maal "else" achter elkaar, dat kan niet.
  • [quote:caff9540f6="Bill Gates"]Je hebt 2 maal "else" achter elkaar, dat kan niet.[/quote:caff9540f6]

    en hij kan ik dat het best op lossen??
  • maar nu heb ik de tweede els weg gehaalt en krijg ik

    [code:1:f69e8ec120]Parse error: parse error, unexpected $end in c:\program files\apache group\apache\htdocs\schalm\gastenboek\plaatsbericht.php on line 56[/code:1:f69e8ec120]

    en dit heb ik gedaan
    [code:1:f69e8ec120]<?php

    include("config.php");

    if ($_GET[actie] == "")
    {
    echo "<hr width='100%' align='left'>
    <form method='POST' action='plaatsbericht.php?actie=nieuw_bericht'>
    <table>
    <tr>
    <td align='right'>Name</td>
    <td>
    <input type='text' name='naam' size='20'></td>
    </tr>
    <tr><td align='right'>E-mail address</td>
    <td>
    <input type='text' name='email' size='20'></td>
    </tr>
    <tr><td align='right'>Homepage URL</td>
    <td>
    <input type='text' name='website' size='20'></td>
    </tr>
    <tr><td align='right'>Bericht</td>
    <td>
    <textarea rows='7' name='bericht' cols='32'></textarea></td>
    </tr>
    <tr><td></td><td>&nbsp;</td>
    </tr>
    </table>
    <br>
    <input name='submit' type='submit' id='submit' value='plaats'></p>
    </form>
    </a><br>
    <hr width='100%' align='left'>";

    }

    elseif ($_GET[actie] == "nieuw_bericht")
    {
    if ($_POST[submit])
    {
    if(!($naam)){
    echo "Je moet een naam invullen!";
    }
    else if(!($bericht)){
    echo "Je hebt geen bericht ingevult!";
    }
    else {
    $query = "INSERT INTO gastenboek (naam, email, website, bericht) VALUES ('$_POST[naam]', '$_POST[email]', '$_POST[website]', '$_POST[bericht]')";
    mysql_query($query) or die (mysql_error());

    echo "bedankt voor u bericht";
    }


    ?>[/code:1:f69e8ec120]
  • Je moet de accolades gaan tellen, er zijn meer { dan }
    Het moeten er evenveel zijn en op de goede plaats

    wimb
  • Gebruik een fatsoenlijke editor, dan zie je dat de accolades niet kloppen.

    Edit: te laat ;)
  • oke dat begrijp ik nu en dat heb ik opgelost

    maar nu is dat if nog fout bijv
    [code:1:0e09c1945e]Parse error: parse error, unexpected T_ELSEIF in c:\program files\apache group\apache\htdocs\schalm\gastenboek\plaatsbericht.php on line 42
    [/code:1:0e09c1945e]

    en wat is dan een goede php editor??

    en dan nog een keer het ander filetje
    [code:1:0e09c1945e]<?php

    include("config.php");

    if ($_GET[actie] == "")
    {
    echo "<hr width='100%' align='left'>
    <form method='POST' action='plaatsbericht.php?actie=nieuw_bericht'>
    <table>
    <tr>
    <td align='right'>Name</td>
    <td>
    <input type='text' name='naam' size='20'></td>
    </tr>
    <tr><td align='right'>E-mail address</td>
    <td>
    <input type='text' name='email' size='20'></td>
    </tr>
    <tr><td align='right'>Homepage URL</td>
    <td>
    <input type='text' name='website' size='20'></td>
    </tr>
    <tr><td align='right'>Bericht</td>
    <td>
    <textarea rows='7' name='bericht' cols='32'></textarea></td>
    </tr>
    <tr><td></td><td>&nbsp;</td>
    </tr>
    </table>
    <br>
    <input name='submit' type='submit' id='submit' value='plaats'></p>
    </form>
    </a><br>
    <hr width='100%' align='left'>";

    }

    elseif ($_GET[actie] == "nieuw_bericht")
    {
    ($_POST[submit])

    elseif(!($naam)){
    echo "Je moet een naam invullen!";
    }
    elseif(!($bericht)){
    echo "Je hebt geen bericht ingevult!";
    }
    else {
    $query = "INSERT INTO gastenboek (naam, email, website, bericht) VALUES ('$_POST[naam]', '$_POST[email]', '$_POST[website]', '$_POST[bericht]')";
    mysql_query($query) or die (mysql_error());

    echo "bedankt voor u bericht";
    }


    ?>[/code:1:0e09c1945e]
  • Voor elseif moet altijd een } om de voorgaande if of elseif af te sluiten.

    wimb
  • [quote:83fccd9c86="WimB"]Voor elseif moet altijd een } om de voorgaande if of elseif af te sluiten.

    wimb[/quote:83fccd9c86]

    maar al doe ik dat dan krijg ik weer een fout melding[code:1:83fccd9c86]Parse error: parse error, unexpected '}' in c:\program files\apache group\apache\htdocs\schalm\gastenboek\plaatsbericht.php on line 43[/code:1:83fccd9c86]
  • Zorg dat je een editor als ultraedit oid neemt. De syntax highlighting zorgt ervoor dat dit soort foutjes niet voorkomen.

    t.
  • Jah en spring bijvoorbeeld met tabs in zodat je de codeblokken kunt zien
  • maar zou toch iemand voor mij de fout er uit willen halen want ik zie het niet met het programma! :oops:
  • [code:1:889ff6acbd]
    <?php
    include("config.php");

    if ($_GET[actie] == "") {
    echo "<hr width='100%' align='left'>
    <form method='POST' action='plaatsbericht.php?actie=nieuw_bericht'>
    <table>
    <tr>
    <td align='right'>Name</td>
    <td>
    <input type='text' name='naam' size='20'></td>
    </tr>
    <tr><td align='right'>E-mail address</td>
    <td>
    <input type='text' name='email' size='20'></td>
    </tr>
    <tr><td align='right'>Homepage URL</td>
    <td>
    <input type='text' name='website' size='20'></td>
    </tr>
    <tr><td align='right'>Bericht</td>
    <td>
    <textarea rows='7' name='bericht' cols='32'></textarea></td>
    </tr>
    <tr><td></td><td>&nbsp;</td>
    </tr>
    </table>
    <br>
    <input name='submit' type='submit' id='submit' value='plaats'></p>
    </form>
    </a><br>
    <hr width='100%' align='left'>";
    } else if ($_GET[actie] == "nieuw_bericht") {
    ($_POST[submit])
    } else if(!($naam)) {
    echo "Je moet een naam invullen!";
    } else if(!($bericht)) {
    echo "Je hebt geen bericht ingevult!";
    } else {
    $query = "INSERT INTO gastenboek (naam, email, website, bericht) VALUES ('$_POST[naam]', '$_POST[email]', '$_POST[website]', '$_POST[bericht]')";
    mysql_query($query) or die (mysql_error());
    echo "bedankt voor u bericht";
    }
    ?>
    [/code:1:889ff6acbd]

    Als je nou eens keer een beetje netjes gaat werken, ipv dat je er een rotzooitje van maakt.
    Wat doet die ($_POST[submit]) daar???? Die verzaakt een fout.
    Tis trouwens netter om bij dat soort variabelen quotes te gebruiken, dus $_POST[submit] wordt dan bijvoorbeeld $_POST["submit"].

    Verder was er idd een } te weinig.

    Ik gebruik trouwens Zend Development Environment om in te ontwikkelen. Voordelen is dat ie mooie syntax highlighting heeft en er zit een goede debugger in.
  • hey, dat ga ik dan ook maar eens proberen…. Nu gebruik ik gewoon UltraEdit
  • bedankt voor je hulp maar ik krijg alweer deze fout

    [code:1:1015e1afec]Parse error: parse error, unexpected '}' in c:\program files\apache group\apache\htdocs\schalm\gastenboek\plaatsbericht.php on line 35[/code:1:1015e1afec]
  • [quote:05f89142e0="starbase"]bedankt voor je hulp maar ik krijg alweer deze fout

    [code:1:05f89142e0]Parse error: parse error, unexpected '}' in c:\program files\apache group\apache\htdocs\schalm\gastenboek\plaatsbericht.php on line 35[/code:1:05f89142e0][/quote:05f89142e0]

    Als je m'n reply had gelezen, had je gezien dat dat door die ($_POST[submit]) komt.
    Waarom heb je die daar staan? Klopt van geen kanten!
  • [quote:08cb2965a8="InZane"][quote:08cb2965a8="starbase"]bedankt voor je hulp maar ik krijg alweer deze fout

    [code:1:08cb2965a8]Parse error: parse error, unexpected '}' in c:\program files\apache group\apache\htdocs\schalm\gastenboek\plaatsbericht.php on line 35[/code:1:08cb2965a8][/quote:08cb2965a8]

    Als je m'n reply had gelezen, had je gezien dat dat door die ($_POST[submit]) komt.
    Waarom heb je die daar staan? Klopt van geen kanten![/quote:08cb2965a8]

    die staat er om te kunnen garanderen dat het een post is!
  • [quote:05d065239e="starbase"]die staat er om te kunnen garanderen dat het een post is![/quote:05d065239e]Twee hints:
      [*:05d065239e]Koop een boek.[*:05d065239e]Probeer niet de slimmerik uit te hangen tegen mensen die het duidelijk beter weten dan jij.[/list:o:05d065239e]
  • [quote:f2b473ded9="starbase"][quote:f2b473ded9="InZane"][quote:f2b473ded9="starbase"]bedankt voor je hulp maar ik krijg alweer deze fout

    [code:1:f2b473ded9]Parse error: parse error, unexpected '}' in c:\program files\apache group\apache\htdocs\schalm\gastenboek\plaatsbericht.php on line 35[/code:1:f2b473ded9][/quote:f2b473ded9]

    Als je m'n reply had gelezen, had je gezien dat dat door die ($_POST[submit]) komt.
    Waarom heb je die daar staan? Klopt van geen kanten![/quote:f2b473ded9]

    die staat er om te kunnen garanderen dat het een post is![/quote:f2b473ded9]

    Jij weet echt niet waar je het over hebt..
  • lees anders

    is een artikeltje over Superglobals…
    dan zie je hoe het moet :)


    [code:1:4fe4ba98ab]<?php
    include("config.php");

    if ($_GET['actie'] == "") {
    echo "<hr width='100%' align='left'>
    <form method='POST' action='plaatsbericht.php?actie=nieuw_bericht'>
    <table>
    <tr>
    <td align='right'>Name</td>
    <td>
    <input type='text' name='naam' size='20'></td>
    </tr>
    <tr><td align='right'>E-mail address</td>
    <td>
    <input type='text' name='email' size='20'></td>
    </tr>
    <tr><td align='right'>Homepage URL</td>
    <td>
    <input type='text' name='website' size='20'></td>
    </tr>
    <tr><td align='right'>Bericht</td>
    <td> g
    <textarea rows='7' name='bericht' cols='32'></textarea></td>
    </tr>
    <tr><td></td><td>&nbsp;</td>
    </tr>
    </table>
    <br>
    <input name='submit' type='submit' id='submit' value='plaats'></p>
    </form>
    </a><br>
    <hr width='100%' align='left'>";
    }
    elseif($_GET['actie'] == "nieuw_bericht") {
    ($_POST[submit])
    }
    elseif(!($naam)) {
    echo "Je moet een naam invullen!";
    }
    elseif(!($bericht)) {
    echo "Je hebt geen bericht ingevult!";
    }
    else {
    $query = "INSERT INTO gastenboek (naam, email, website, bericht) VALUES ('$_POST['naam']',

    '$_POST['email']', '$_POST['website']', '$_POST['bericht']')";
    mysql_query($query) or die (mysql_error());
    echo "bedankt voor u bericht";
    }
    ?> [/code:1:4fe4ba98ab]

    probeer dit eens?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.