Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

plaats bericht in gastenboek

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.