confirm()
caro84
- javascript
Habe eine Datei namens delete.php mit folgendem Inhalt:
<script type="text/javascript">
Check = confirm("Wollen Sie den Eintrag löschen?");
if (Check == false) {
history.back()
}
else {
<?
$loeschen = "DELETE FROM ops_release WHERE id = '$id'";
$loesch = mysql_query($loeschen);
?>
}
</script>
Diese wird aufgerufen, wenn man neben einem DB Eintrag auf löschen klickt. Der Datensatz soll allerdings nur gelöscht werden, wenn man auf OK klickt. Das mit dem History.Back klappt auch wunderbar, aber der Datensatz wird ebenfalls gelöscht, wenn man auf Abbrechen klickt. Wieso? Wo ist mein Fehler?
Hi,
<script type="text/javascript">
Check = confirm("Wollen Sie den Eintrag löschen?");
if (Check == false) {
history.back()
}
else {
<?
$loeschen = "DELETE FROM ops_release WHERE id = '$id'";
$loesch = mysql_query($loeschen);
?>
}
</script>
Informiere Dich über die Grundlagen von Client-Server-Anwendungen.
Dein PHP-Script erzeugt HTML inkl. Javascript. Das Javascript wird erst ausgeführt lange nachdem Dein PHP-Script beendet ist.
Dein PHP-Script kann also prinzipbedingt nicht auf die User-Antwort auf das Javascript-confirm reagieren, da es vorher bereits beendet ist.
cu,
Andreas
Kann ich sowas wie history.back() auch nutzen um direkt auf eine andere Seite weiterzuleiten (ohne refresh="1" und so)?
Also dass er bei else {} eben einfach eine andere Seite aufruft..
Also dass er bei else {} eben einfach eine andere Seite aufruft..
location.href="neueSeite.htm";
Hello,
location.href="neueSeite.htm";
au Wahnsinn, also von der Seite weggeleitet und trotzdem der Datensatz gelöscht.
NOCHMAL: PHP läuft erst, was hinten rauspurzelt kommt beim Browser an. Wenn der Browser das JavaScript in die Finger bekommt ist das PHP-Skript mit seiner Löschung schon fertig.
ENTWEDER
Du platzierst das confirm auf dem Löschen-Button, so dass das Skript überhaupt nicht erst ausgeführt wird
ODER
Du musst serverseitig auf gesetzte Parameter reagieren um zwischen Löschung und Nicht-Löschung zu unterscheiden.
Und das ENTWEDER-ODER ist dabei nicht ganz trennscharf, es darf gerne auch beides sein.
MfG
Rouven
Hi,
au Wahnsinn, also von der Seite weggeleitet und trotzdem der Datensatz gelöscht.
Nu lass' den Kinderchen doch den Spass am selber herausfinden :-)
MfG ChrisB
.. sicher dass es der OP noch ums Löschen ging?
Aus der neuen Fragestellung ergibt sich das eigentlich nicht.
Hi,
.. sicher dass es der OP noch ums Löschen ging?
Aus der neuen Fragestellung ergibt sich das eigentlich nicht.
ich weiß nicht, was an "Der Datensatz soll allerdings nur gelöscht werden, wenn man auf OK klickt." so unklar sein sollte. Darüber hinaus wäre dieser fatale Irrtum des OP *unbedingt* aufklärungsbedürftig, auch wenn dessen Frage in eine komplett andere Richtung gegangen wäre.
Cheatah