Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]usuwanie
Forum PHP.pl > Forum > Przedszkole
gosienkami
witam chce zrobić usuwanie fotkek z katalogu i z bazy. ale nie działa bo nie przesyła nazwy pliku
wyswietlanie:
  1. mysql_select_db($database_connect, $laczenie);
  2.  
  3. $zapytanie=mysql_query('SELECT * FROM galeria');
  4. while($row=mysql_fetch_array($zapytanie))
  5. {
  6. $id=$row['id'];
  7. $fotka1=$row['fotka1'];
  8. echo '<a rel="readtrip" href="galery/'.$row['fotka1'].'">
  9. <img src="galery/'.$row['fotka1'].'"width="100"/></a>
  10. ';
  11. echo $fotka1;
  12. echo '<a href="usun1_fotke.php?id='.$id.'">usuń fotke</a>';
  13. }
  14.  
  15. ?> <input name="id" type="hidden" value="<? echo $id; ?>" />
  16.   <input name="fotka1" type="hidden" value="<? echo $fotka1; ?>" />

i usuwanie
  1. <?php
  2. $id=$_GET['id'];
  3. $fotka1=$_GET['fotka1'];
  4. $plik=$fotka1;
  5. $plikm='../min_'.$fotka1;
  6. echo $plik;
  7. echo $plikm;
  8.   mysql_select_db($database_connect, $laczenie);  
  9.   $wynik="DELETE FROM galeria WHERE id='$id' and fotka1='$plik' and minfotka='$plikm'";
  10.   $sql= mysql_query($wynik);
  11.   echo 'Usunięto rekord o nr id: '.$id;
  12. ?>
nospor
$fotka1=$_GET['fotka1'];

przeciez nie przekazujesz juz fotka1 w url. Przekazujesz tylko id.
Do zapytania to id powinno ci wystarczyc
artur_dziocha
1 Po co Ci te input hidden skoro usuwasz w linku fotke??
2. nic dziwnego skoro nie przesyłasz nazwy pliku w linku
  1. <?php
  2. echo '<a href="usun1_fotke.php?id='.$id.'&amp;fotka1='.$fotka1.'">usuń fotke</a>';
  3. ?>

lub cos takiego nie wiem co masz u siebie
gosienkami
po id to usuwa mi z bazy a w katalogu fotki zostaja.
Cytat(nospor @ 17.02.2009, 10:44:30 ) *
$fotka1=$_GET['fotka1'];

przeciez nie przekazujesz juz fotka1 w url. Przekazujesz tylko id.
Do zapytania to id powinno ci wystarczyc
nospor
przeciez w zapytaniu usuwajacym uwzgledniasz tez fotka1, ktorej nie zapodajesz w url. Wiec warunki masz niespelnione....

a to ze usuwa ci tylko z bazy to logiczne, bo tylko z bazy usuwasz i nic wiecej nie robisz
gosienkami
zmieniłam na pasku mam tak usun1_fotke.php?id=109&fotka1=../galery/drzewa.jpg

Usunięto rekord o nr id:109 fotka z katalogu../galery/drzewa.jpg
a w kodzie mam tak i dalej usuwa z bazy a w kataloogu zostaje
  1. <?
  2. $id=$_GET['id'];
  3. $fotka1=$_GET['fotka1'];
  4.   mysql_select_db($database_connect, $laczenie);  
  5.   $wynik="DELETE FROM galeria WHERE id='$id' and fotka1='$fotka1'";
  6.   $sql= mysql_query($wynik);
  7.   echo 'Usunięto rekord o nr id:'.$id;
  8.   echo 'fotka z katalogu'.$fotka1;  
  9. ?>
ddiceman
unlink();:
Po
  1. <?php
  2. $sql= mysql_query($wynik);
  3. ?>

dodaj
  1. <?php
  2. unlink($fotka1);
  3. ?>

Przy czym Twoj skrypt pozwoli na skasowanie dowolnego pliku u Ciebie lacznie z tymi, ktorych bys nie chciala
sannin
Bo kasujesz tylko wpis z bazy zobacz to http://pl.php.net/unlink
gosienkami
wywala bład ze brak pliku

[quote name='ddiceman' date='17.02.2009, 11:27:48 ' post='572549']
unlink();:
Po
[php]
sannin
a może jakiś kod?
ddiceman
A w jakim katalogu leza zdjecia, a gdzie jest skrypt? Musisz dobrac sciezke tak, by podawac do funkcji unlink(); odpowiednia lokacje pliku. To forum nie jest po to, by kazdy sie domyslal, jaka masz strukture plikow, ale by Cie inni naprowadzili na to, gdzie lezy blad. Znasz komunikat bledu, wiesz w czym tkwi - w czym jest jeszcze problem?
gosienkami
Warning: unlink(../galery/2351.gif) [function.unlink]: No such file or directory in C:\Program Files\xampp\htdocs\test\usun1_fotke.php on line 21
  1. <?
  2.  
  3. $id=$_GET['id'];
  4. $fotka1=$_GET['fotka1'];
  5. mysql_select_db($database_connect, $laczenie);  
  6. $wynik="DELETE FROM galeria WHERE id='$id' and fotka1='$fotka11'";
  7. $sql= mysql_query($wynik);
  8. unlink("$fotka1");?>


http://id=111&fotka1=../galery/2351.gif zdjecia sa w katalogu galery
nospor
a czy katalog gallery lezy pod taką lokalizacja:
C:\Program Files\xampp\htdocs\galery
?
gosienkami
w C:\Program Files\xampp\htdocs\test\galery

[/quote]
ddiceman
  1. <?
  2.  
  3. $id=$_GET['id'];
  4. $fotka1=$_GET['fotka1'];
  5. mysql_select_db($database_connect, $laczenie);  
  6. $wynik="DELETE FROM galeria WHERE id='$id' and fotka1='$fotka11'";
  7. $sql= mysql_query($wynik);
  8. unlink(substr($fotka1, 3));?>
nospor
no a w usun_fotke.php odwolujesz sie do lokalizacji co podalem. No mysl troche dziewczyno.

Nie zapisuj w bazie takich sciezek jak '../galery'
tylko samo '1234.gif'

A potem buduj wlasciwą sciezke na podstawie tego gdzie sie znajdujesz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.