PHP DELETE

Programovacie jazyky, rady, poradňa...
error17
Amateur
Amateur
Príspevky: 18
Registrovaný: 07 jan 2010, 22:12

PHP DELETE

Príspevok od používateľa error17 »

zdravim potreboval by som radu, mam takyto kod...

<?php
$adresar="a/";
$adresar_open=opendir($adresar);
while ($foto=readdir($adresar_open)) {
if($foto!="." && $foto!=".." && getimagesize($adresar.$foto) > 0) {
echo '<a href="'.$adresar.$foto.'"><img src="'.$adresar.$foto.'" align="top" style="border:1px solid #333333;margin-right:15px;margin-bottom:15px" width="100"/></a><input type="submit" value="Delete"><br>
';
}
}
?>

potreboval funkcia unlink('.$adresar.$foto.'); pracovala pri kliku na tlacitko vie mi niekto poradit??
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP DELETE

Príspevok od používateľa audiotrack »

do formu s tým buttonom. Tomu formu pridáš ešte hidden input ktorý ti predá $foto premennú a jedna podmienka v php ktorá určí či sa má mazať (prípadne to pôjde na iný súbor). Nezabudni ale poriadne ošetriť hodnotu z toho hidden inputu, inak to bude veľká bezpečnostná diera
error17
Amateur
Amateur
Príspevky: 18
Registrovaný: 07 jan 2010, 22:12

Re: PHP DELETE

Príspevok od používateľa error17 »

no ved prave tu podmienku nevime vymysliet,, vies mi nejak poradit??
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP DELETE

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

if(isset($_POST['name_skryteho_inputu'])){   //poslalo sa zmazanie
   if(!str_pos("..",$_POST['name_skryteho_inputu'])){ //zabránenie directory transversal
      if(file_exists($_POST['name_skryteho_inputu'])){
         unlinke($_POST['name_skryteho_inputu']);
      }
   }
}
error17
Amateur
Amateur
Príspevky: 18
Registrovaný: 07 jan 2010, 22:12

Re: PHP DELETE

Príspevok od používateľa error17 »

no mam to takto napisane ale nechce to vobec fungovat tak ako by som chcel...

Kód: Vybrať všetko

<?php
$adresar="a/";
$adresar_open=opendir($adresar);
while ($foto=readdir($adresar_open)) {
if($foto!="." && $foto!=".." && getimagesize($adresar.$foto) > 0) {
echo '<a href="'.$adresar.$foto.'"><img src="'.$adresar.$foto.'" align="top" style="border:1px solid #333333;margin-right:15px;margin-bottom:15px" width="100"/></a><input type="submit" hidden="'.$adresar.$foto.'" value="Delete" name="del"><br>
';
}
}

if(isset($_POST['del'])){   //poslalo sa zmazanie
   if(!str_pos("..",$_POST['del'])){ //zabránenie directory transversal
      if(file_exists($_POST['del'])){
         unlinke($_POST['del']);
      }
   }
}
?>
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP DELETE

Príspevok od používateľa audiotrack »

no lebo si musíš najprv doštudovať html aby si mohol robiť php :) hovoril som do formu hidden input, nie dať nejaký hidden atribút do submitu či čo si to tam porobil
Napísať odpoveď