Von db löschen

spirits

Gesperrt
Hallo
ich will bei meinen login machen das der user seine nachrichten löschen kann. Das man z.B auf ein link oder button klickt damit die nachricht gelöscht wird.
Ich habs so probiert:
PHP:
echo '<td width="120" bgcolor="#ffffff"><span class="Stil15 Stil16 Stil19"><a href="intern.php?open=eingang&edit=detete&id='.$line->id.'">Löschen</a></span></td>';
if ($edit == "delete") {
$dbanfrage = "DELETE FROM userpost WHERE id = ".$line->id."";
if (mysql_db_query ($mysql_db, $dbanfrage, $mysql_ce)) {
print ("Die nachricht wurde gelöscht!<br>");
} else {
print ("Es traten Probleme bei der Löschung der nachricht auf.");
}
}
 
mysql_db_query ist inzwischen veraltet, du solltest mysql_query benutzen, aber das ist nicht das Problem.

Lass dir mal mit mysql_error() die Fehlermeldung vom Datenbankserver ausgeben und schau mal ob da ein Fehler ausgegeben wird:

http://www.lernpilot.de/wbt/kurse/index.php?kurs=mysql01&seite=11

Manchmal hilft es auch schon, die SQL-Anweisung nochmal mit echo anzeigen zu lassen. So könntest du z.B. prüfen, ob der Wert aus $line->id richtig in die Datenbankabfrage eingetragen wurde.

Gruß

Marian
 
So vielleicht:
PHP:
echo '<td width="120" bgcolor="#ffffff"><span class="Stil15 Stil16 Stil19"><a href="intern.php?open=eingang&edit=delete&id='.$line->id.'">Löschen</a></span></td>'; 
if ($_GET['edit'] == "delete") { 
$dbanfrage = "DELETE FROM userpost WHERE id = $_GET['id']"; 
if (mysql_db_query ($mysql_db, $dbanfrage, $mysql_ce)) { 
print ("Die nachricht wurde gelöscht!<br>"); 
} else { 
print ("Es traten Probleme bei der Löschung der nachricht auf."); 
} 
}

mfg
forsterm
 
Soviel ich weiß braucht man für $_GET ein formular. Ich benutze kein formular und ich hab das ausprobiert und das hat nicht geklappt
 
spirits hat gesagt.:
Soviel ich weiß braucht man für $_GET ein formular.

stimmt nicht. Alle Variablen die du per ? und & in der URL übergibts kannst du mit der Superglobalen Variable $_GET auslesen (und das solltest du auch so tun).

Du bist sonst darauf angewiesen, dass dein Provider "register_globals=on" in der php.ini eingestellt hat.

Siehe auch:
http://www.heddesheimer.de/coaching/register.html

und das könnte auch die Ursache für dein Problem sein ;-)

Gruß

Marian
 
Probier mal Folgendes:
PHP:
<?php

	mysql_select_db($mysql_db);
	if( isset($_GET['edit'] && $_GET['edit'] == 'delete' ) {
		$query = "
			DELETE
			  FROM
			        userpost
			  WHERE
			        `id` = ".intval($_GET['id'])."
			";
		if( mysql_query($query, $mysql_ce) ) {
			echo 'Die nachricht wurde gelöscht!<br>';
		} else {
			echo 'Es traten Probleme bei der Löschung der nachricht auf.';
		}
	}

?>
 
Zurück