# Warnung vor löschen



## Thomas_Jung (16. Dezember 2004)

Hallo
Kann ich mit Javascript eine Meldung ausgeben mit Ja / Abrechen bevor der Datensatz gelöscht wird. 
LINK
<a href=\"test?clear=$zeile[id]\">Löschen</a>


```
if($clear) {
mysql_query("DELETE FROM archiv WHERE id=$clear");
echo "<script language=\"JavaScript\"> alert ('Der Datensatz wurde erfolgreich gelöscht!');  </script>";
}
```

Gruß
Thomas


----------



## Quaese (16. Dezember 2004)

Hi,

Du kannst abfragen, ob der Datensatz tatsächlich gelöscht werden soll. Dazu dient die JavaScript-Funktion
*confirm*.

Im Link, der das Löschen anstösst, rufst Du eine Funktion auf und fragst dort ab, ob das Löschen
tatsächlich durchgeführt werden soll. Wird die Nachfrage mit "Ja" bestätigt, wird die entsprechende
Seite aufgerufen. Soll das Löschen doch nicht durchgeführt werden, bleibt der User auf der Seite.

Link:

```
<a href="#" onclick="loeschen(this, '<?php echo('test?clear='.$zeile[id]) ?>');">Löschen</a>
```

JavaScript-Funktion:

```
<script language="javascript" type="text/javascript">
  <!--
function loeschen(objLink, strHREF){
    if(confirm("Löschen?")){
        alert("löschen!");
        objLink.href = strHREF;
    }else{
        alert("nicht löschen");
    }
}
  -->
</script>
```
Ich hoffe, ich habe Dein Problem richtig verstanden und konnte weiterhelfen.

Ciao
Quaese


----------



## Thomas_Jung (17. Dezember 2004)

Hallo Quaese

Du hast den Nagel auf den Kopf getroffen.

Vielen Dank

Gruß Thomas


----------



## resterampe (17. August 2005)

ich habe mit folgendes ausgedacht...


```
// $dropid wird per GET übergeben
  
  	<script language="JavaScript"><!--
  		drop = confirm ("Wirklich löschen?");
  		if (drop == true) {
  			  <? 
  			include "geheim.php";
 		 @mysql_query("DELETE FROM abc WHERE id = '$dropid' ") or die("DB-Error 04! Konnte nicht aus der Datenbank löschen<br><br>". mysql_error());
  			mysql_close($link);
 			echo "Der Eintrag wurde erfolgreich gelöscht.<br />";
  			?>
  			} 
  		else {
  			
  			}
  	// --></script>
```
 
  doch leider will der nicht, wenn jmd ne Idee dazu hat 
  darf er sich gerne melden

  Ich versuche derweil weiter den Fehler selbst zu finden


----------



## Sven Mintel (19. August 2005)

PHP-Code wird serverseitig ausgeführt, also bereits vor dem clientseitigen JS-Code.

Du musst nach dem confirm() eine Serveranfrage an das betreffende PHP-Skript senden.
Dafür gibts mehrere  Möglichkeiten:



Öffne ein Fenster mit dem Skript
Lade ein Image-Object mit dem Skript als src(dabei ist egal, ob es sich wirklich um ein Bild handelt, wichtig ist die Anfrage an den Server, denn dadurch wird das Skript abgearbeitet)
sende eine Serveranfrage per XMLHttpRequest(das hat den Vorteil, dass du bei Bedarf auch Erfolgs/Fehler-Meldungen auswerten kannst)


----------



## resterampe (19. August 2005)

man da hätte ich auch selbst drauf kommen können...

 tut schon fast weh, dass ich nicht dran gedacht habe ( server /client )...
 naja ich nehm dann einfach den löscungsvorschlag der hier schon stand


----------



## LN5 (29. November 2005)

hmm.. aber wenn das ganze schon in einem Echo ist, wie muss ich dann bei den ' und " vorgehen? 


```
<a href=\"#\" onclick=\"loeschen(this, '<?php mysql_query(\"DELETE FROM Dateien WHERE id = \'$loeschid'\"); ?>');\">Löschen</a>
```


----------



## Sven Mintel (29. November 2005)

Was willst du da tun 

Javascript kann keine PHP-Funktionen aufrufen.


----------

