Mit link löschen funktioniert nur per doppelklick

Hallo Forum,

Ich habe ein Uploadscript mit dem ich Dateien hochladen und einzelne hochgeladene Dateien wieder löschen kann.

Beim Hochladen der Dateien werden die Dateien direkt in der Datenbank gespeichert und im Anschluß im selben Formular untereinander angezeigt.

Funktioniert super.

Nun habe ich für jeden hochgeladenen Datensatz einen link eingebaut, mit dem ich einzelne Dateien wieder löschen kann.

Problem:

Das Löschen der Dateien ist leider immer nur per Doppelklick auf den Link möglich. Erst dann wird die ausgewählte Datei gelöscht.

Ich habe dies im Internet Explorer 6.x und Firefox 2.0x probiert. Das Resultat ist leider dasselbe.

Der Link sieht folgendermassen aus:

echo ‚‘ . $row[0] . ’ - ’ . $row[1] . ’ - ’ . $row[2] . ’ - ’ . $row[3] . ‚‘;
echo ’ (Doppelklick)’;

Die Funktion, die das Löschen ermöglicht sieht folgendermassen aus:

<?php if (!$_REQUEST['del_id']) {
} { $del\_id = $\_REQUEST['del\_id']; $sql3 = "Delete from file\_upload where id='$del\_id'"; } $result3 = mysql\_query($sql3) or die('Fehler (3): ' . mysql\_error()); ?\> Das Funktioniert auch ganz gut, wenn nur diese blöde Kleinigkeit nicht wäre. Weiss jemand woran das liegt und was man dagegen machen kann? Würde mich über jeden Tipp freuen. Viele Grüße aus Köln Laurenzo

Hallo!

Mal mit nem header("Location: http:// … ") ausprobiert nach dem löschen wieder auf die Seite zu leiten? Das Problem gibts öfters, da der die Seite aufruft, das Dingen löscht, vorher aber nochtmal listet.Du musst nach dem löschvorgang die Seite erneut laden, wie, da gibts diverse Möglichkeiten. Ich mache es immer mit dem header() befehl.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi!

Besten Dank für diesen Hinweis. Da hatte ich nicht dran gedacht.
Dennoch gibts da ein Problem. Mein Browser sagt mir immer wieder „Fehler: Umleitungsfehler. Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.“

Woran kann das denn liegen? Ich habe die header()-Zeile sowohl mitten im Code als auch in der Kopfzeile im Header des Codes eingebaut. Der Fehler ist jedoch immer der selbe.

Hast du noch ne Idee? Ich werde mal schaun ob ich den Fehler ausfindig machen kann.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ja, du darfst den Headerbefehl nur in deine if-Abfrage machen, wenn du die ganz oben in deiner Seite einsetzt, führt er den header() Befehl immer aus und führt zu einem Endlos-Reaload. Also nur in die if-Abfrage, wo du die Daten löschst

Super! Vielen Dank…hat funktioniert! :smile:

Habe aber noch eine andere Frage:

Ich habe zwei Formulare in zwei verschiedenen Dateien (Datei „a“ und Datei „b“–>upload-Form)

Mit beiden Dateien kann man bestimmte Daten in die Datenbank speichern. Funktioniert auch wunderbar. Nun habe ich in Datei „a“ einen IFrame eingebaut, in dem ich Datei „b“ nun aufrufe.
Das funktioniert auch soweit ganz gut.

Datei „b“ speichert sofort die Datei in die Datenbank, sobald eine ausgewählt wird. In einer Liste unter dem Formular erscheint dann auch die Datei. *Daher auch die vorherige Frage mit dem refresh :wink: *

Wenn ich Datei „b“ separat im Browser (Firefox 2.x) aufrufe, funktioniert sie einwandfrei. Wenn ich aber die Datei „b“ im IFrame aufrufe und den Button zum Auswählen einer Datei betätige, dann macht die Datei aber nichts weiter und bleibt einfach stehen. Der upload-Button enthält einen Funktionsaufruf der bei "OnChange=„funktion()“ die Anfrage an die Datei „b“ sendet und die auffordert, die Daten in die Datenbank zu speichern.
Das funktioniert aber nicht weiter. Was muß ich tun, damit das funktioniert? Langsam nervt es mich. Bin schon seit heute morgen dran :frowning: .

Hast du ne Idee? Wenn du den Code sehen willst, dann poste ich ihn dir gleich.

Besten Dank für deine Hilfe!

Ja, du darfst den Headerbefehl nur in deine if-Abfrage machen,
wenn du die ganz oben in deiner Seite einsetzt, führt er den
header() Befehl immer aus und führt zu einem Endlos-Reaload.
Also nur in die if-Abfrage, wo du die Daten löschst

das klingt jetzt aber mehr nach JavaScript Problem? :wink:

Meine Vermutung ist, dass da irgendwie ein Befehl drin ist, der innerhalb eines Frames nicht mehr funktionieren kann…
von wegen parent und child und so…
Aber mit JS kenn ich mich nicht soooo gut aus…

Grüße
Munich

Hi!
Habs schon gelöst! :wink:

Aber vielen Dank für deine Antwort.

Lösung: Ich habe einen refresh in einer if-Verzweigung eingebaut, sodass der browser nach jedem Klick auf den Link (zum Löschen eines Datensatzes) einen refresh macht. Das klappt super. :smiley:

Viele Grüße aus dem schönen Köln
Laurenzo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]