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

Gastenboek ( Computertotaal nr 12 php en mysql deel 4)

Anne
8 antwoorden
  • Ik heb die tutorials van computer totaal gevolgd.
    Alles werkte perfect todat ik naar de mysql database moest schrijven en dat hij hem weer uitleesde.
    Dat werkt niet bij mij.

    http://members.lycos.nl/arjanverheij/

    Dit is de code:
    gastenboek.php.
    <?php
    $db = mysql_connect();
    mysql_select_db("gastenboek");

    $berichten_query = mysql_query("
    SELECT naam, mail, opmerking, datum FROM berichten ORDER BY datum DESC LIMIT 30");

    while($record = mysql_fetch_assoc($berichten_query))
    {
    echo("Naam: {$record['naam']}<br>");
    if(strlen($record['mail']) > 0)
    {
    echo ("Email: {$record['mail']}<br>");
    }
    echo("Opmerking: {$record['opmerking']}<br>");
    echo("Datum: {$record['datum']}<br>");
    echo("<br>");
    }
    ?>


    en gastenboek_verstuur.php
    <?php
    if(strlen($_POST['naam']) < 1 || strlen($_POST['opmerking']) < 1)
    {
    echo("U heeft te weinig gegevens ingevuld. Ga terug.");
    }
    else
    {
    $db = mysql_connect();
    mysql_select_db("gastenboek");

    $naam = mysql_escape_string(strip_tags($_POST['naam']));
    $mail = mysql_escape_string(strip_tags($_POST['mail']));
    $opmerking = mysql_escape_string(strip_tags($_POST['opmerking']));

    mysql_query("
    INSERT INTO berichten
    (naam, mail, opmerking, datum)
    VALUES
    ('{$naam}', '{$mail}', '{$opmerking}', NOW())
    ");

    header("Location: http://localhost/gastenboek.php");
    }
    ?>
  • Zet in je "gastenboek.php" eens

    <form action="gastenboek_verstuur.php" met[b:8d4de06b1d]h[/b:8d4de06b1d]od="post">

    in plaats van

    <form action="gastenboek_verstuur.php" met[b:8d4de06b1d]
  • Dom van me tnx.

    Maar nu krijg ik een error waar ik niet uit kom.

    Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\gastenboek_verstuur.php:6) in c:\apache\htdocs\gastenboek_verstuur.php on line 33
  • De melding wordt 'veroorzaakt' door
    [code:1:07ffa95a12]header("Location: http://localhost/gastenboek.php"); [/code:1:07ffa95a12]
    Als je deze functie (header) gebruikt mag er NIETS anders al eerder als output gegenereerd zijn.
    Als er vooraf al een melding ge-echod is zal header() dus niet werken. Maar ook als er vooraf al HTML in je php-scripts staat veroorzaakt dit zo'n melding. Lycos heeft van dit laatste nog wel eens een handje om er zo zeker van te zijn dat er reclame getoond wordt ;)
  • :) dat probleem ken ik
    zet in het begin van je pagina de php functie :
    ob_start();

    dit zou het probleem moeten kunnen oplossen (anders in documentatie van php kijken naar output buffer)

    [size=9:0e149a0074]zit eindelijk op 500 posts :P ;)[/size:0e149a0074]
  • Bij me lycos werkt me gastenboek nu.

    Ik werk ook offline om te testen dus met apache.
    dan blijf ik deze error houden.

    hoe los ik dat probleem dan op.
  • dus je hebt die ob_start(); ook offline er staan?
    dat is vreemd het ou volgens mij gewoon moeten werken (misschien dat er wat veranderd moet worden in je php.ini maar dat kon ik niet vinden.)
  • hoe zet ik die ob er neer

    ob_start();

    gewoon zo

    <php?
    ob_start();
    ?>

    en dat is het goed?

Beantwoord deze vraag

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