Vraag & Antwoord

Webprogrammeren & scripting

Update functie wil niet slagen

Anoniem
wpbremer
2 antwoorden
  • Ik heb het volgende formulier waarme ik een nieuwsbericht in laad en kan wijzigen en weer verzenden.

    [code:1:da8ce0175b]
    <?php
    include("../nieuws/config.php");

    //De SQL-instructie heeft een news_ID nodig, die door news_list.php wordt doorgegeven
    $SQL_news = "SELECT * FROM news WHERE news_ID=$news_ID";
    $news_result = mysql_query($SQL_news);
    $news = mysql_fetch_array($news_result);
    mysql_close();

    //<br>-tags converteren naar regeleinden
    $news['news_main'] = eregi_replace('<br[[:space:]]*/?[[:space:]]*>', "\n", $news['news_main']);
    ?>

    <FORM ACTION="news_list.php" METHOD="POST">
    <table width="550" border="1" align="center" cellpadding="4" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#ECE9D8">
    <tr>
    <th scope="row"><div align="center"><span class="style1">Berichttitel</span></div></th>
    <td width="350">
    <input type="text" name="news_header" value="<?php echo $news['news_header'] ?>" size=30 maxlength=120></td>
    </tr>
    <tr>
    <th scope="row"><div align="center"><span class="style1">Datum/tijd</span></div></th>
    <td>
    <input type="text" name="news_datetime" value="<?php echo $news['news_datetime'] ?>" size="19" maxlength="19"></td>
    </tr>
    <tr>
    <th width="200" scope="row"><div align="center"><span class="style1">Berichttekst</span></div></th>
    <td>
    <textarea name="news_main" cols="60" rows="10"><?php echo $news['news_main']?></textarea></td>
    </tr>
    <tr>
    <th colspan="2" scope="row">
    <input type="hidden" name="news_ID" value=<?php echo $news['news_ID']?>>
    <input type="hidden" name="action" value="update">
    <input type="submit" name="submit" value="Ok"></th>
    </tr>
    </table>
    </FORM>
    [/code:1:da8ce0175b]
    =================================================
    Bovenstaand formulier verzend ik naar het volgende bestand
    =================================================
    [code:1:da8ce0175b]
    <?php
    include("../nieuws/config.php");

    //voer de gekozen bewerking uit
    if($_GET['action']=="delete") {
    // Er is op de hyperlink Verwijderen geklikt: record verwijderen
    $news_SQL_del = "DELETE FROM news WHERE news_ID=$news_ID";
    $bool = mysql_query($news_SQL_del);
    if($bool == 1) echo "<script LANGUAGE=Javascript>window.alert('Het bericht is verwijderd.')</script>";
    if($bool <> 1) echo "<script LANGUAGE=Javascript>window.alert('Er is een fout opgetreden bij het verwijderen.')</script>";
    }
    if($_POST['action']=="insert") {
    // Regeleinden in de hoofdtekst omzetten in HTML-regeleinden
    $news_main = nl2br($news_main);
    $news_main = eregi_replace("\n", "", $news_main);
    $news_SQL_insert = 'INSERT INTO news (news_header, news_datetime, news_main) VALUES ("'. $_POST['news_header'] . '" , "'. $_POST['news_datetime'] . '", "'. $_POST['news_main']. '")';
    $bool = mysql_query($news_SQL_insert);
    if($bool == 1) echo "<script type='text/javascript'>window.alert('Het bericht is toegevoegd.')</script>";
    if($bool <> 1) echo "<script type='text/javascript'>window.alert('Er is een fout opgetreden bij het toevoegen van het bericht.')</script>";
    }
    if($_POST['action']=="update") {
    // Regeleinden in de hoofdtekst omzetten in HTML-regeleinden
    $news_main = nl2br($news_main);
    $news_main = eregi_replace("\n", "", $news_main);
    $news_SQL_insert = "UPDATE news SET news_header='".$_POST["news_header"] ."', news_main='".$_POST["news_main"] ."', news_datetime='".$_POST["news_datetime"] ."' WHERE news_ID='".$_POST["news_ID"]."'";
    $bool = mysql_query($news_SQL_update);
    if ($bool == 1) echo "<script type='text/javascript'>window.alert('Het bericht is aangepast.')</script>";
    if ($bool <> 1) echo "<script type='text/javascript'>window.alert('Het bericht is niet aangepast.')</script>";
    }
    ?>
    Hieronder worden de berichten dan weergegeven.
    [/code:1:da8ce0175b]

    Wat is mijn probleem: alles lukt behalve 1 ding hij past na het veranderen van het bericht het bericht niet aan in de database. Want als ik bericht later opvraag vanuit de database dan zie ik geen wijziging.

    Alvast bedankt voor jullie reactie(oplossingen)

    ——————————————————————————–
  • Een verschil in variabele namen:

Beantwoord deze vraag

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