Archief - PHP/MySQL: probleem met updaten db

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

polleke

Legacy Member
ben php aan het leren, en heb een simpel nieuwssysteem ineen geprutst, ik kan records toevoegen, verwijderen, alleen het bewerken wil maar niet lukken, als ik de record bewerk, blijft hij de oude weergeven, precies of de veranderingen niet worden opgeslagen...

dit is de code die het form uitleest en wegschrijft naar de db:

PHP:
if($action=="update"){
$news_ID=$_POST['news_ID'];
$news_main=$_POST['news_main'];
$news_header=$_POST['news_header'];
$news_datetime=$_POST['news_datetime'];

$news_main=nl2br($news_main);
$news_main=eregi_replace("\n","",$news_main);
$news_SQL_update="UPDATE news SET news_header='$news_header',news_main='$news_main',news_datetime='$news_datetime' WHERE news_ID='$news_ID'";
$bool=mysql_query($news_SQL_update);
if($bool==1) echo "<script language=javascript>window.alert('Bericht is bewerkt.')</script>";
if($bool<>1) echo "<script language=javascript>window.alert('Bericht is niet gewijzigd!')</script>";
}

dit is de code van mijn form:

PHP:
<?php include "connect.php" ?>

<?php
$SQL_news="SELECT * FROM news WHERE news_ID=" . $_GET['news_ID'];
$news_result=mysql_query($SQL_news);
$news=mysql_fetch_array($news_result);
mysql_close();

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

<form action="news_list.php" method="post">
  <p>
  <input type="text" name="news_header" value="<?php echo $news['news_header'] ?>" size="50" maxlength="120">
  </p>
  <p>    <input type="text" name="news_datetime" value="<?php echo $news['news_datetime'] ?>" size="19" maxlength="19">
  </p>
  <p>    <textarea name="news_main" rows="6" cols="45"><?php echo $news['news_main'] ?></textarea>
    <input type="hidden" name="action" value="update">
    <input type="submit" name="Submit" value="OK">
  </p>
</form>

ik hoop dat er iemand is die de fout vind, want ik zit er al een paar uur op te zoeken, en ik word zot :sad:

:help:

maT'

Legacy Member
Je update je query, op basis van een NEWS_ID dat je zogezegd meegeeft met je formulier, maar dit gebeurt niet:
PHP:
$news_ID=$_POST['news_ID'];
Je vraagt het news_ID op, die via POST zou doorgegeven worden, maar in je formulier komt dit niet voor.

Voeg dus een 2de hidden field toe, genaamd news_ID en geef dit de waarde van het news_ID.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan