Sicherheitsabfrage vor dem Löschen eines Datensatzes

chribu
Goto Top
Hallo Leute,

ich habe ein kleines Problem mit meinem Formular(HTML/PHP mit MySQL-DB anbindung)!

Wie bekomme ich es hin, dass ich, wenn ich den Löschenbutton drücke, erst eine Sicherheitsabfrage bekomme z.B. "Sind sie sicher, dass sie diesen Datensatz löschen mächten?" und wenn ich diese mit ja bestätige, soll der weiter Löschenverlauf folgen (DELETE FROM...blablabla sql abfrage)!

Wenn ich auf nein drücke soll er nichts machen, also zu dem geöffneten Fenster zurückspringen!

GIbt es da eine Lösung für?

Danke schon im vorraus

Chribu
[EDIT masterG 20.09.2007 14:51]:
Nach dem dieser Thread schon eine weile gelöst ist werde ich ihn schließen.

Content-Key: 40190

Url: https://administrator.de/contentid/40190

Ausgedruckt am: 17.08.2022 um 09:08 Uhr

Mitglied: Dani
Dani 15.09.2006 um 12:11:52 Uhr
Goto Top
Hi,
ich habe sowas mit Javascript realisiert.

<a onclick="return confirmSubmit()" href="VERWEISE AUF DATEI" class=link1>l&ouml;schen</a>
Mitglied: Chribu
Chribu 15.09.2006 um 12:42:13 Uhr
Goto Top
Hi Dani,

also bei mir sieht das ja so aus:


Ähm nur wie soll ich das mit dem <a onklick.. > machen?

Danke nochmal!

Gibt es auch andere Lösungsmöglichkeiten? (da ja nicht jeder Browser java aktiv hat!)

Cya

Chribu
Mitglied: Dani
Dani 15.09.2006 um 13:59:53 Uhr
Goto Top
Hi,
der Quellcode von deiner Löscheseite muss dann so aussehen:

Diese Seite bindest bei meinem Link oben ein! Geht eigentlich immer! Ist übrigends die gleieche Funktion, wenn du hier eine Nachricht löschst.!


Gruß
Dani
Mitglied: EvilMoe
EvilMoe 17.09.2006 um 10:26:41 Uhr
Goto Top
Hi

bei mir funktionierts wunderbar danke !
Mitglied: Guenni
Guenni 17.09.2006 um 20:25:06 Uhr
Goto Top
@Chribu

Hi,

Lösungsbeispiel ohne JavaScript.

Auf der Ergebnisseite deiner Auswahl kannst du ohne weiteres einen
Button in ein eigenes Formular verpacken, das ein Script aufruft,
dass dir den zum Löschen ausgewählten Datensatz nochmals
anzeigt, wo dann entweder die Bestätigung zum Löschen erfolgt,
oder der Löschvorgang abgebrochen wird.

Das Form:

Die Seite drop.php baut sich dann wie folgt auf:

Soll dieser Datensatz wirklich gelöscht werden ?
Erklärung:

Im Tread --> https://www.administrator.de/MySQL_Datens%E4tze_mit_php-Formular_%E4nder ...

hatte ich Franzmann geschrieben, dass ich versch. Vorgänge wie Einfügen,
Löschen, Editieren von Datensätzen immer auf entsprechende Seiten verteile.

Daher die Weiterleitung via header("location:...... .

Ich finde das wesentlich übersichtlicher, als wenn man den kompletten
Code in eine einzige Seite packt.

Gruß
Günni
Mitglied: Chribu
Chribu 18.09.2006 um 09:23:53 Uhr
Goto Top
Hallo!!

Danke für eure Antworten!

Ich habe mich jetzt mal mit dem JavaScript Code auseinandergesetzt!

Hier meine delete.php:


So und hier meine Ergebnisseite:


Hier mein Link:


So wenn ich nun auf den Link klicke bekomme ich zwar die gewünschte Sicherheitsabfrage, doch löscht er keinen Datensatz aus der MySQL-DB!

Hab ich was vergessen?

Danke

Chribu
Mitglied: EvilMoe
EvilMoe 18.09.2006 um 10:09:54 Uhr
Goto Top
wurdest du richtig an die delete.php weitergeleitet?
Mitglied: Chribu
Chribu 18.09.2006 um 10:35:40 Uhr
Goto Top
Jop wurde ich!

Nachdem ich das error_reporting auch eingefügt hatte bekam ich folgende Fehlermeldung!

Notice: Undefined index: dd in E:\TYPO3\htdocs\prokom srv manager\delete.php on line 11

Das ist doch ein Indiz dafür, dass die Variable "'$_Post['dd']'" nicht gesetzt worden ist, sprich nicht weis welchen Server er löschen soll!

Dann muss doch am QUellcode was schief gelaufen sein!

Muss ich die irgendwie includen oder so?

Cya

Chribu
Mitglied: Guenni
Guenni 18.09.2006 um 21:13:55 Uhr
Goto Top
@Chribu

Hi,

wenn du die Seite delete.php via Link aufrufst, und erwartest, dass da was
passiert, so mußt du dem Link auch einen Parameter mitgeben.


Eine Auswertung mit $_POST[……


...... bringt ebenfalls nichts, weil Variablen bzw. Parameter, die via Link übertragen
werden, mit der Methode GET ausgewertet werden. Also...


oder einfach


Der Parameter para (…'delete.php?para=<?echo $dd;?>…) enthält dann den
Wert von $dd, und kann ganz normal als Variable $para weiterverarbeitet werden.

Tipp:

Wenn du Variablen an andere Seiten weiterleitest, ob mit Form oder Link,
so lass' dir auf den Seiten als erstes mal mittels echo $Variable; anzeigen,
ob die Daten überhaupt korrekt übermittelt wurden.

Wenn ja, dann Aktionen mit den Werten programmieren face-smile.

Grüße
Günni
Mitglied: Chribu
Chribu 19.09.2006 um 09:18:22 Uhr
Goto Top
Hallo Günni,

ich habe das jetzt nach deinen Anweisungen versucht:

Hier mein Link: (ZEILE 85)


Und dann rufe ich das Formular auf und bekomme schon in der Ergebnisseite folgende Fehlermeldung:

Notice: Undefined variable: dd in E:\TYPO3\htdocs\prokom srv manager\form3t.php on line 85

Also konnte er mit der Variable nichts anfangen! Habe die auch mal mit $_Post ausgetauscht aber hat auch nicht hingehauen.

So hier meine delete.php:
Und folgender Fehler tritt auf der delete.php auf:

Notice: Undefined variable: para in E:\TYPO3\htdocs\prokom srv manager\delete.php on line 11

Notice: Undefined variable: para in E:\TYPO3\htdocs\prokom srv manager\delete.php on line 13
Es ist ein Fehler aufgetreten


So och habe doch deinen Rat befolgt, oder bin ich grade zu blind dafür das hinzubekommen?

Danke nochmal!

Chribu
Mitglied: Chribu
Chribu 19.09.2006 um 10:59:33 Uhr
Goto Top
Alles okay es läuft jetzt!

Ich habe es hinbekommen, indem ich die Variablen davor nochmal gesetzt habe!

Genau so:

(delete.php)


Und hier meine Ergebnisseite:

Danke nochmal an ALLE!

Cya

Chribu