Bei Klick auf Link -> Löschen

mC pAiN

Erfahrenes Mitglied
Hallo,

ich habe folgendes Problem:

Ich habe Daten aus einer DB in eine Tabelle ausgegeben und habe am ende der Tab. einen Link "LÖSCHEN". Klickt man darauf, wird mittels JavaScript eine neue Zeile eingeblendet, in der eine Abfrage kommt, ob man wirklich löschen möchte.
Klickt man nun auf "Ja" (als Link - nicht Button), soll der Datensatz gelöscht werden. Mein Problem:

Wie frage ich ab, ob genau dieser Link geklickt wurde. Mit "Nein" das habe ich schon, da ich einfach die Zeile dann wieder ausblende, aber bei "Ja" ist das so ein Problem, da in der Seite ein paar includes drin sind und ich nicht genau weiß, wie ich das dann machen soll
 
Wie, ob wirklich dieser Link geklickt wurde?
Du musst doch nur die ID des Datensatzes übergeben, der gelöscht werden soll.
Bsp:

<a href="http://www.deineseite.de/del.php?ID=1">Datensatz löschen`?</a>
PHP:
<?php
// index.php
$Loeschen = mysql_query("DELETE FROM Tabelle Where ID = '".$_GET["ID"]."'");
echo "Datensatz erfolgreich gelöscht";
?>

Ich hoffe, ich habe deine Frage so richtig verstanden.
 
Hatte es wohl leider zu ungenau beschrieben...

Auf die Art wollte ich es ja auch machen, nur dass es nicht ganz so unkompliziert ist :rolleyes:

So sieht mein Link aus vorher:

http://www.test.de/intern.php?content=sort_alle&id=1


Bei "content=..." steht immer was anderes. Der Inhalt kommt mittels include. Die id ist meine Kunden-ID.

Wenn ich jetzt auf "LÖSCHEN" klicke (oder eher gesagt auf das "Ja"), dann soll er den datensatz löschen und die Seite aktualisieren. Das Problem ist wohl eher wie ich an die alte URL rankomme...

Stehe irgendwie auf dem Schlauch, obwohl es glaub ich sehr einfach ist.

mit $PHP_SELF geht es leider nicht. Hab ich bereits probiert.
 
Original geschrieben von mC pAiN

Wenn ich jetzt auf "LÖSCHEN" klicke (oder eher gesagt auf das "Ja"), dann soll er den datensatz löschen und die Seite aktualisieren. Das Problem ist wohl eher wie ich an die alte URL rankomme...
Gar nicht nötig, mach den Link so:

http://www.test.de/intern.php?content=sort_alle&del=1

und schreib die Löschnummer oben in Deine normale Ausgabeseite:
PHP:
if($_GET["del"]){
   mysql_query("DELETE FROM Tabelle Where ID = '".$_GET["del"]."'");
   echo "Datensatz ".$_GET["del"]."erfolgreich gelöscht"; 
}
 
Zuletzt bearbeitet:
Falls du das Problem mit "an die alte URL rankommen" auf das Aktualisieren der Seite beziehst, so kannst du diese sehr wohl mit $_SERVER['PHP_SELF'] und $_SERVER['QUERY_STRING'] rausfinden (optional wären da noch Variablen wie $_SERVER['HTTP_HOST'] usw., siehe phpinfo() ).
 
also wenn du das ganze für dich als art admin verwendest, dann ist das einfach zu lösen:

du hast ja eine seite mit inhalten und darin unter anderem den link:

Code:
<a href=\"http://www.test.de/intern.php?content=sort_alle&del=1\">bild</a>


wenn du nun auf diesen link klickst, gibt es verschiedene möglichkeiten wie du den inhalt in welchem auch der obige link war wieder angezeigt wird.

entweder du bindest die DELETE funktion in die gleiche datei ein und machst die schon genannte db anweisung oder du gehst per header zurück oder auf eine seite deiner wahl oder du bindest einfach eine if/else kontrolle in die datei ein, in welcher auch der link ist.

wenn if wird gelöscht, gleicher inhalt angezeigt oder bei else einfach nur den inhalt vor dem löschvorgang.

der link ändert sich in diesem sinne dann nicht mehr.

wenn du per header(); weiter leitest, kannst du auch:

PHP:
<?php
header("Location: intern.php?content=sort_alle");
?>

achte auf den richtigen verweis von verzeichnissen.
 
Danke für die zahlreichen Tipps. Habe es jetzt wie mehrfach beschrieben mit:

...&del=1 gemacht.

Hätte ich auch selbst drauf kommen können. Vielen Dank nochmal. Ihr seit spitze :-) :-)
 
klar, aber ich kann dir auch ein lied davon singen wie heftig und kaum zu überbieten man auf einer leitung stehen kann :-) ohne überhaupt den gedanken daran zu verschwenden, das es auch einfach gehen könnte :suchen:
 
Zurück