Hallo,
da missverstehst du etwas grundsätzlich und wirfst clientseitige und serverseitige Logik durcheinander.
Du kannst nicht mit browserseitigem JavaScript ein serverseitiges Script anhalten oder verzögern. Halte dir mal vor Augen, wie die Kommunikation zwischen Webserver und Browser funktioniert und wie PHP und JavaScript überhaupt ausgeführt werden:
1. Der Browser sendet die Anfrage an den Server und verlangt das PHP-Script
2. Der Server führt das PHP-Script aus. (Es läuft bis zu seinem Ende.)
3. Das Script gibt i.d.R. ein HTML-Dokument zurück, das vom Webserver an den Browser durchgereicht wird. (Zu dem Zeitpunkt läuft das PHP-Script gar nicht mehr.)
4. Der Browser zeigt das Dokument an und führt das JavaScript aus. (Zu dem Zeitpunkt ist auf dem Server schon alles gelaufen und die HTTP-Verbindung beendet.)
Wenn du also im PHP-Script einen Löschbefehl notierst, dann wird der auch immer ausgeführt. Ob du zwischen Datenbank-Connect und -Query irgendwelchen Code ausgibst, ist dem PHP-Interpreter völlig egal. Wenn der JavaScript-Code im Browser ausgeführt wird, wurde das Script schon längst fertig auf dem Server ausgeführt.
Du kannst ein PHP-Script nicht an irgendeiner Stelle »anhalten«, ein JavaScript-Meldefenster im Browser anzeigen lassen, und dann das Script weiterlaufen lassen. Das geht konzeptionell schon nicht, wie klar geworden sein sollte. In PHP musst du immer mit dem Client-Server- bzw. dem Abfrage-Modell von HTTP arbeiten: Browser stellt Anfrage an den Server, PHP-Script läuft, generiert die Antwort, Antwort wird im Browser gezeigt.
Wie du nun eine Bestätigung einbauen kannst: Der Browser darf das Löschscript überhaupt nur anfragen, wenn der Benutzer dies bestätigt. Zum Beispiel beim Link darauf mit JavaScript:
<a href="loeschscript.php" onclick="return confirm('wirklich löschen?')">Löschen</a>
Oder das Löschscript zeigt zuerst einmal ein Bestätigungsformular, das die Formulardaten an sich selbst schickt. Es übergibt sich dann einen bestimmten Parameter. Wenn dieser gesetzt ist, wird gelöscht, wenn nicht, dann nur das Bestätigungsformular angezeigt:
<?php
if (isset($_POST['confirm'])) {
/* .. lösche aus Datenbank ... */
} else {
?>
<form action="" method="post">
<p><input type="submit" name="confirm" value="Löschen bestätigen"></p>
</form>
<?php
}
?>
Mathias