Vraag & Antwoord

Webprogrammeren & scripting

Gastenboek ( Computertotaal nr 12 php en mysql deel 4)

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