[PHP & MySQL] News DB Update per Formular funktioniert nicht

cille

Erfahrenes Mitglied
Hi ho,
ich editiere ja mein News script mit ein Formular. Standart eigentlich,
aber Irgendwie Updatet der nicht.
Also ich liste die News auf Klicke auf die jeweilige News und die ID wird in die URL übergeben, dadurch nimmt weis das Formular, ah die NEWS jetzt Formular aufschlagen news inhalt einfügen und zum Editieren startklar machen.

Bis dahin funktioniert mein Script,
aber wenn ich auf SUBMIT klicke steht zwar "News erfolgreich geändert!",
aber er hat es nicht, es kommt auch keine fehlermeldung oder so.
Hoffe Ihr wisst eine Antwort,
Hier mal der code:
PHP:
<?php
if (isset($_GET["news"]) == "edit") {
	include("config.php");
	
	if ($_SESSION["user_rights"] >= 1) {

?>
  <div style="text-align:left"><b>Kunden ID: </b><?php echo $_SESSION["user_id"]; ?></div>
	<div style="text-align:right"><a href="system/logout.php">Ausloggen</a></div>
	<hr />
	<a href="index.php?news=show">News</a> | <a href="rechner/" target="_blank" \>Preisrechner</a> | <a href="index.php?infos=show">Infos</a> | <a href="index.php?profil">Ihr Profil</a>
	<hr /> 
<?php
		$sql1 = "SELECT * FROM news ORDER BY id DESC LIMIT 0, 10";
		$result1 = mysql_query($sql1);
		
		while ($row1 = mysql_fetch_assoc($result1)) {
			echo "[ <a href='index.php?news=edit&row=".$row1[id]."'>News Editieren</a> ] ";
			echo "<b>ID:</b> $row1[id] | $row1[datum] - $row1[time]<br>";
			echo "<b>$row1[titel]</b><br>";
			echo $row1["eintrag"];
			echo "<br><br><hr>";
		}
		if (isset($_GET["row"])) {		
			$sql2 = "SELECT * FROM news WHERE id = '".mysql_real_escape_string($_GET["row"])."'";
			$result2 = mysql_query($sql2);
			$data = mysql_fetch_array($result2);		
			echo <<<FORMULARBEREICH
<form action="index.php?news=edit&row=" method="post">
	<table border="0" cellspacing="2" cellpadding="0">
		<tr>
			<td><b>Titel:</b></td>
			<td colspan="4"><input id="formularfeld" type="text" name="titel" value="{$data[titel]}" ></td>
		</tr>
		<tr>
			<td colspan="4"><b>Eintrag:</b> <small>(HTML: ON)</small></td>
		</tr>
		<tr>
			<td colspan="4"><textarea id="textarea" cols="55" rows="15" name="eintrag">{$data[eintrag]}</textarea></td>
		</tr>
		<tr>
			<td colspan="4"><input name="submit" id="login" type="submit" value="Ändern!" /></td>
		</tr>
	</table>
</form>
FORMULARBEREICH;
			if (isset($_POST["submit"])) {
				if(!empty($_POST["titel"]) && !empty($_POST["eintrag"])) {
					include("config.php");
					$datum = date("d.m.Y");
					$time = date("H:i")." Uhr";
					$titel = $_POST["titel"];
					$eintrag = $_POST["eintrag"];
					
					$sql = "UPDATE news SET id='', datum='".$datum."', time='".$time."', titel='".$titel."', eintrag='".$eintrag."'";
					mysql_query($sql);
			
					header ("Location: index.php?accept=4");
				}
				else {
					header ("Location: index.php?fehler=1");
				}
			}
		}
// NICHT LÖSCHEN
	}
}
?>

müste ja theoretisch funktionieren.
ode hab ick was falsch gemacht?

[EDIT]
Habe das Formular geändert,
aber es wird immernoch nichts eingetragen,
theoretisch müste es ja am:
PHP:
$sql = "UPDATE news SET id='', datum='".$datum."', time='".$time."', titel='".$titel."', intrag='".$eintrag."'";
mysql_query($sql);

liegen
[/EDIT]
mfg,
cille
 
Zuletzt bearbeitet:
Du musst dem Formular noch ein <input type="hidden" name="id" value="{$data[id]}"> übergeben und dies in der Updateanweisung mit "Where id=$_POST["id"]" übergeben ;-)

MFG Niels
 
Habe den hiddenbutton eingefügt und das where,
hier nochmal das eingefügte:
PHP:
<td colspan="4"><input type="hidden" name="id" value="{$data[id]}"></td>

$sql2 = "UPDATE news SET id='', datum='".$datum."', time='".$time."', titel='".$titel."', eintrag='".$eintrag."' WHERE id='".mysql_real_escape_string($_POST["id"])."'";
Aber Irgendwie funktioniert dies immernoch nicht,
es kommt keine fehlermeldung, aber er leitet weiter zu "News erfolgreich editiert!".
 
lass dir mal per
PHP:
echo $_POST['id']
ausgeben, ob der Datensatz wirklich gefunden wird..


und das SET id='' würde ich rausnehmen, die ID soll er ja behalten =)
 
Danke,
funktioniet jetzt, er hat durch das:

SET id=''

ein neuen Datensatz eingefügt, anstatt zu editieren,
habs rausgenommen und jetzt funktioniert es.

DANKE EUCH.

mfg,
cille
 
Zurück