Löschen net

thomson

Erfahrenes Mitglied
Code:
</title> 


<script language="JavaScript" type="text/javascript"> 
   function f_confirm(id) 
   { 
    check=confirm("Datensatz wirklich löschen?"); 
    if(check==true){ 
     location.href="loeschen.php?delete=true&id=" + id; 
     } else  
     location.href="loeschen.php"; 
   } 
</script> 

</head> 

<body> 

<h3>Löschen</h3> 
<body onload="document.forms[0].id.focus()"> 

<form action="<?php echo $PHP_SELF ?>" method="post" name="eintragung"> 

<p>ID eintragen:<br> 
<input type="text" name="id"> 
<a href="#" onclick="f_confirm(document.eintragung.id.value);">löschen</a> 




</form> 

<?php if ($_GET['delete'] == "true")
{
	$db= mysql_connect("XXX", "XXX", "") or die(mysql_error());
	mysql_select_db("XXXX") or die(mysql_error());
	$sql= "DELETE FROM Solutions WHERE ID = '".$_GET['id']."'";
	mysql_query($sql) or die("Error: ".mysql_error());

	echo "Daten wurden gelöscht!";
}
?> 

</body></html>

Komme bis zur Messagebox, dann das echo "Daten wurden gelöscht!";
wird gar nicht erst angezeigt geschweige denn der Eintrag gelöscht
ich hab nur die Datei loeschen.php
 
Also ich habe es mal versucht , es geht , wenn du das $db vor dem Connection befehl wegmachst (logisch oder?)
PHP:
<script language="JavaScript" type="text/javascript"> 
   function f_confirm(id) 
   { 
    check=confirm("Datensatz wirklich löschen?"); 
    if(check==true){ 
     location.href="loeschen.php?delete=true&id=" + id; 
     } else  
     location.href="loeschen.php"; 
   } 
</script> 

</head> 

<body> 

<h3>Löschen</h3> 
<body onload="document.forms[0].id.focus()"> 

<form action="<?php echo $PHP_SELF ?>" method="post" name="eintragung"> 

<p>ID eintragen:<br> 
<input type="text" name="id"> 
<a href="#" onclick="f_confirm(document.eintragung.id.value);">löschen</a> 




</form> 

<?php if ($_GET['delete'] == "true")
{
	mysql_connect("XXX", "XXX", "") or die(mysql_error());
	mysql_select_db("XXX") or die(mysql_error());
	$sql= "DELETE FROM XXX WHERE ID = '".$_GET['id']."'";
	mysql_query($sql) or die("Error: ".mysql_error());

	echo "Daten wurden gelöscht!";
}
?> 

</body></html>

Achja wenn dieses Löschen wichtig sein sollte ,würde ich es nicht per JS machen ,da man JS deaktivieren kann und es dann sofort gelöscht wird.
Übrigens wenn du Code mit dem PHP Symbol (siehe oben) umgibst , wird er gehighlighet ,was die Lesbarkeit durch aus verbessert ;) :)
 
Zuletzt bearbeitet:
Hast du auch überprüft das die ID die du angeben hast , exisitert?
Hast du desweiteren XXX mti den Daten gefüllt (bei mir steht auch in der FROm Klausel XXX ) ?
Bei mir kommt die Message das es gelöscot wurde und der Eintrag war auch weg :D
 
?

Bei mir kommt sofort, sobald ich die Seite öffne, bevor ich eine ID eingeben kann, die Meldung Daten wurden gelöscht.
Dann geb ich ne vorhandene ID ein und dann kommt die Messagebox ich klicke auf ja und und und
leider passiert nix
 
Also ich weiss nicht was bei dir los ist ,habe es grade nochmal überprüft ,nichts verändert und benutze Mozilla .
Es müsste gehen . Bei mir tut es dass :
PHP:
</title> 


<script language="JavaScript" type="text/javascript"> 
   function f_confirm(id) 
   { 
    check=confirm("Datensatz wirklich löschen?"); 
    if(check==true){ 
     location.href="loeschen.php?delete=true&id=" + id; 
     } else  
     location.href="loeschen.php"; 
   } 
</script> 

</head> 

<body> 

<h3>Löschen</h3> 
<body onload="document.forms[0].id.focus()"> 

<form action="<?php echo $PHP_SELF ?>" method="post" name="eintragung"> 

<p>ID eintragen:<br> 
<input type="text" name="id"> 
<a href="#" onclick="f_confirm(document.eintragung.id.value);">löschen</a> 




</form> 

<?php if ($_GET['delete'] == "true")
{
	mysql_connect("XXX", "XXX", "") or die(mysql_error());
	mysql_select_db("XXXX") or die(mysql_error());
	$sql= "DELETE FROM Solutions WHERE ID = '".$_GET['id']."'";
	mysql_query($sql) or die("Error: ".mysql_error());

	echo "Daten wurden gelöscht!";
}
?> 

</body></html>
TUt mir echt leoid ,aber mit diesem Script (gleiches wie oben nur auf deine Daten angepasst ,funktionrts evtl. benutzt du einnen komischen Browser?
Was anders fällt mir nicht ein .
 
Also ich habe es mal versucht , es geht , wenn du das $db vor dem Connection befehl wegmachst (logisch oder?)

unlogisch, da in $db dann nur die Verbindungs Ressource gespeichert wird. Diese kann optional bei mysql_* - Befehlen mit angeben werden. Sinnvoll, z.b. wenn man auf diese Weise zwei unterschiedliche DB-Verbindungen herstellt.
Nur so als Info.


Wegen der PHP-Version, welche hattest du denn, als es nicht funktionierte?
 
Zurück