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

Kan de fout niet vinden

arjan1202
5 antwoorden
  • [code:1:8f481430a1]<html>
    <head>
    <title>Nieuws Bewerken</title>
    </head>
    <body>
    <?
    include("inc.connect.php");
    $sql = "SELECT * from nieuws";
    $resultaat = mysql_query($sql);
    $record = mysql_fetch_object($resultaat);
    if($actie == 'edit')
    {
    echo"Hier kan je het bericht wijzigen
    <form action=nieuws_bewerken.php method=post>
    <input type=text name=naam value=$record->naam size=15 maxlenght=15>
    <br>
    <input type=text name=datum value=$record->datum>
    <br>
    <input type=text name=titel value=$record->titel size=20 maxlenght=20>
    <br>
    <input type=text name=inhoud maxlength=250 rows=5 cols=40>$record->inhoud</textarea>
    <br>
    input type=hiddem name=d_id value=$record->d_id>
    <input type=hidden name=actie value=update>
    <input type=submit value=Toevoegen>
    </form>
    ";

    if($actie == "update")
    {

    $main = eregi_replace("
    ", "", $main);
    $news_sql_update = "UPDATE nieuws SET naam='$naam', datum='$datum', titel='$titel', inhoud='$inhoud' WHER d_id=$d_id";
    mysql_query($news_sql_update);

    echo"Het bericht is geupdate.<br>";
    }
    ?>
    </body>
    </html>
    [/code:1:8f481430a1]

    Heb als foutmelding parse error, unexpected$
    op lijn 41

    Krijg alleen maar een wit scherm.
    Maar moet dus de gegevens vanuit de databse krijgen en deze kunnen wijzigen maar kijg alleen wit scherm.

    Heb gekeken en alles nagelopen ik kan de fout niet vinden..

    Alvast bedankt
  • jouw if($action == 'edit') { wordt niet afgesloten, een } vergeten dus

    vlak voor if($actie == update)

    Kijk voor de rest ook eventjes naar die echo, dat ziet er niet zo bijster netjes uit. Qua HTML bedoel ik dan. Je bent overal " vergeten binnenin je form, dus bijvoorbeeld bij action en method, maar ook bij name en value. Het werkt wel, maar het is niet echt supergoed.

    Voor de rest zou ik je aanraden om gebruik te maken van $_POST['variabele'] ipv $variabele. In latere versies van PHP wordt standaard enkel de eerste gebruikt, de tweede zal ongeldig zijn.
  • Je kan met deze code overigens voor de velden naam en titel meer dan 15 respectievelijk 20 tekens invullen.
  • maxleng[b:a06884e71e]ht[/b:a06884e71e] ==> maxleng[b:a06884e71e]th[/b:a06884e71e]
  • Door in je form een maxlength op te geven, is niet de meest strenge methode om te voorkomen dat er langere strings worden opgegeslagen in je Database.

    Ik zou ook altijd in je PHP script een check doen op de lengte van je string, ook een minimale lengte natuurlijk. Tevens kun je in Mysql een length van je veld (bv varchar) opgeven.

Beantwoord deze vraag

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