Autor |
Nachricht |
Benutzer 97571
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 20.10.2009 16:53
Titel file vom server löschen mit mysql |
|
|
hallo zusammen,
ich bin langsam am verzweifeln. verscuhe gerade ein kleines cms für mich zu schreiben und komme eigentlich auch ganz gut vorran. ich versuche mir über dieses thema etwas über datenbanken beizubringen.
also, eintrag schreiben klappt, löschen aus der datenbank auch nur die dazugehörige datei auf dem server wird nicht gelöscht.
irgendwo muss ein fehler drin sein. ich vermute, dass es ein anführungszeichenfehler ist den ich nicht finde.
könnte mir jemand behilflich sein?
hier die delete.php:
Code: |
$loeschen = 'SELECT img, id FROM funtstuecke WHERE ID=".mysql_real_escape_string($_GET['id'])." LIMIT 1';
$ergebnis = mysql_query($loeschen);
while($row = mysql_fetch_assoc($ergebnis))
{
unlink("img/url_img/".$row->img);
}
mysql_query("DELETE FROM funtstuecke WHERE id=".$_GET['id']);
|
die datei wird über delete.php?id=xy aufgerufen.
bitte helft mir, ich bin am verzweifeln.
dazu kommt noch, dass ich gerne die $GET entschärfen möchte, da sie derzeit ja doch sehr unsicher geschrieben ist. kann mir jemand ein beispiel geben? irgendwie hab ich das noch nciht so wirklich verstanden.
ich danke euch.
viele grüße
arne
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Di 20.10.2009 17:01
Titel
|
|
|
was passiert denn, wenn du vorm unlink einfach mal
a) echo "lösche datei: ".img/url_img/".$row->img;
ausgibst, um zu sehen, ob es da schon hakt, oder ob es ein rechte problem ist
b) error_reporting hochschraubst?
das get kannste ambesten entschärfen, indem du es nicht nimmst (da lieber post)
|
|
|
|
|
Anzeige
|
|
|
Benutzer 97571
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 20.10.2009 19:57
Titel
|
|
|
dann passiert garnichts. ich hab das gefühl, dass mein server mir keine fehlermeldungen ausgibt.
wenn ich diesen ganzen abschnitt weglasse und nur die daten aus der datenbanktabelle lösche klappt es.
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
|
|
|
|
Benutzer 97571
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 20.10.2009 20:48
Titel
|
|
|
hab
error_reporting(E_ALL);
schon am anfang des dokuments stehen. leider passiert nichts.
ich bin langsam mit meinem latein am ende.
|
|
|
|
|
Benutzer 97571
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 20.10.2009 20:52
Titel
|
|
|
ich habs jetzt schon so versucht:
Code: | $loeschen = 'SELECT img, id FROM funtstuecke WHERE ID='.mysql_real_escape_string($_GET['id']).' LIMIT 1';
echo $loeschen;
exit;
$ergebnis = mysql_query($loeschen);
while($row = mysql_fetch_assoc($ergebnis))
{
echo "img/url_img/".$row['img'];
//unlink("img/url_img/".$row->img);
} |
leider passiert nix. also schieße ich daraus, dass in der zeile
Code: | $loeschen = 'SELECT img, id FROM funtstuecke WHERE ID='.mysql_real_escape_string($_GET['id']).' LIMIT 1'; |
der fehler liegen muss.
kann ich einfach get durch post ersetzen?
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 20.10.2009 20:58
Titel
|
|
|
_forma_ hat geschrieben: | kann ich einfach get durch post ersetzen? |
Nein natürlich nicht, nur wenn der Wert per HTTP POST method übertragen wird …
Poste mal deine vollständigen Scripts.
|
|
|
|
|
Benutzer 97571
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 20.10.2009 21:06
Titel
|
|
|
Code: |
<?php
error_reporting(E_ALL);
mysql_connect("localhost","xxx","xxx") or die
("Keine Verbindung moeglich");
mysql_select_db("xxx") or die
("Die Datenbank existiert nicht");
$loeschen = 'SELECT img, id FROM funtstuecke WHERE ID='.mysql_real_escape_string($_GET['id']).' LIMIT 1';
$ergebnis = mysql_query($loeschen);
while($row = mysql_fetch_assoc($ergebnis))
{
echo "img/url_img/".$row['img'];
//unlink("img/url_img/".$row->img);
}
mysql_query("DELETE FROM funtstuecke WHERE id=".$_GET['id']);
?>
<?php
//header("location:admin/intern.php");
?>
|
die datei heißt delete.php und wir durch delete.php?id=xy aufgerufen.
die zeile
Code: | mysql_query("DELETE FROM funtstuecke WHERE id=".$_GET['id']); |
alleine funktioniert auch. nur wenn der andere teil dazukommt klappt es nciht mehr.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[MySql]Lost connection to MySQL server during query
Mysql export Xml file mit PHP ??
File Zilla, nur einen Ordner auf FTP-Server freischalten
[JS] DAteien auf server löschen
[mySQL] Datensätze löschen
MySQL: Bereich von x bis y löschen
|
|