Avatar billede Fiber Bjørn Juniormester
11. august 2010 - 23:50 Der er 11 kommentarer og
1 løsning

Kan ikke slette fil

Hvorfor kan jeg ikke få dette til at virke. Det er slette funktionen der ikke virker.

<? echo '<a href="filer_vis.php?deleteID='.$getter['id'].'&deleteFile=../doc/intern/'.$_SESSION['hold'].'/'.$getter['image'].'" onclick="return(erdusikker())">Slet</a> ';?>

Når jeg holdet musen over linket passer linket "sti" fint nok med der hvor filen ligger. Den bliver bare ikke slettet.
Avatar billede majbom Novice
12. august 2010 - 00:16 #1
hvordan ser din slet-funktion ud? det er jo umuligt at sige ud fra linket hvad der går galt!
Avatar billede Fiber Bjørn Juniormester
12. august 2010 - 00:26 #2
Jer er ikke lige helt med men hvis det er DELETE FROM du mener så ser den sådan ud.

if (isset($_GET['deleteID'])) {

    mysql_query("DELETE FROM {$_SESSION['filer']} WHERE id=".$_GET['deleteID']."") or die(mysql_error());
}

og den bliver fint nok slettet men selve filen bliver ikke slettet
Avatar billede mrkaynex Nybegynder
12. august 2010 - 00:33 #3
Du skal jo også have en funktion til at slette selve filen fra serveren...
Avatar billede majbom Novice
12. august 2010 - 00:38 #4
den kodestump dér sletter kun linjen i databasen, den sletter ingen filer...

www.php.net/unlink
Avatar billede Fiber Bjørn Juniormester
12. august 2010 - 00:43 #5
ja det er da mig der er en torsk.
jeg er lige ved at få dette til at henvise til det rigtig sted, så kommer det vist til at virke?

if (isset($_GET['deleteFile'])) {
if (file_exists('../doc/intern/'.$getter['image'].'/'.$_GET['deleteFile'])) {
        unlink('../doc/intern/'.$getter['image'].'/'.$_GET['deleteFile']);
    }
}
Avatar billede Fiber Bjørn Juniormester
12. august 2010 - 01:00 #6
Fu.. hvor kan man da bare bliver gal på sig selv :( at det skal tage så lang tid før man opdager sådan noget.

ER det #3 der skal have point for at først komme med løsningen eller vi i dele.

Koden kom til at se sådan ud

<?php
if (isset($_GET['deleteFile'])) {
if (file_exists('../doc/intern/'.$_SESSION['hold'].'/'.$_GET['deleteFile'])) {
                unlink('../doc/intern/'.$_SESSION['hold'].'/'.$_GET['deleteFile']);
            }
        }
?>

<td><? echo '<a href="filer_vis.php?deleteFile='.$getter['image'].'&deleteID='.$getter['id'].'" onclick="return(erdusikker())">Slet</a> ';?></td>
Avatar billede mrkaynex Nybegynder
12. august 2010 - 01:44 #7
Jeg skal ikke have nogen point.

Det var splazz der kom med den direkte løsning, jeg skrev bare hvad du manglede :)
Avatar billede Slettet bruger
12. august 2010 - 07:35 #8
Jeg håber at dette blot er den konceptuelle model af din kode:

<?php
if (isset($_GET['deleteFile']))
  {
  if (file_exists('../doc/intern/'.$_SESSION['hold'].'/'.$_GET['deleteFile']))
      {
      unlink('../doc/intern/'.$_SESSION['hold'].'/'.$_GET['deleteFile']);
      }
  }
?>

For den vil jo tillade en bruger at slette enhver fil på din server!
(ved at kalden den med "../../important.php" i deleteFile-parameteren)
Avatar billede majbom Novice
12. august 2010 - 10:33 #9
svaret kommer her, og sørg så for lige at vaske dine input som T4NK3R siger - ellers er det jo selvmord ;)
Avatar billede Fiber Bjørn Juniormester
27. august 2010 - 16:47 #10
Hvad mener du med at vaske INPUT = mysql_real_escape_string ?????

Tror du har glemt at svarer dette spørgsmål :)
Avatar billede majbom Novice
27. august 2010 - 19:10 #11
nemlig, og ja, det blev ikke lige et svar - vi prøver igen :)
Avatar billede majbom Novice
27. august 2010 - 22:44 #12
tfp :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester