Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kasowanie pliku, przekazywanie zmiennej (smarty)
Forum PHP.pl > Forum > Przedszkole
Gość_Grzesiek
Witam,
Od wczoraj gnebi mnie taka oto sytuacja. Licze, ze ktos ze swiezym
spojrzeniem na sprawe mi pomoze, bo sily mnie opuszczaja.
Otoz sprawa wyglada tak, ze potrzebuje zrobic liste plikow, ktore znajduja
sie w folderze co juz zrobilem. Do tego obok kazdego pliku powinna byc opcja
usun wiadomo po co winksmiley.jpg
Na ta chwile wyglada to u mnie tak, ze w pliku php pobieram liste plikow z
folderu za pomoca scandir() i przesylam ja do htmla. Wyspisywanie plikow
dziala prawidlowo i wyglada tak

$dirData - tablica z nazwami katalogow

{section name=i loop=$dirData}
<a href="./strony_uzytkownikow/{$sciezka}/{$login}/{$dirData[i]}"
target="_blank">{$dirData[i]}</a>

i ta czesc dziala ok, jest jak chce. Obok dodaje cos takiego:
<a href="kasowanie_plikow.php?plik = {$dirData[i]}">usun</a><br/>
{/section}

czyli chce przekazac do pliku kasowanie_plikow.php odpowiednia nazwe pliku,
zeby funkcja unlink() go skasowac. niestety na to wyglada, ze nie przekazuje
tej nazwy, bo kiedy daje najprostsze echo($plik) otrzymuje pustke.
W przegladarce po przekazaniu adres wyglada tak
http://localhost/test/kasowanie_plikow.php...%20=%20test.htm
i chyba rozchodzi sie o to nieszczesne %20, ktore nie mam pojecia co znaczy.
Przeciez powinno przekazac normalnie. Probowalem tez przekazac nr indeksu
tablicy, czyli w tym wypadku {i} ale smarty wywala blad i tak sie nie da.
Moje doswiadczenie w php jest niemal zerowe, to moj pierwszy powazniejszy
projekt i cos co ma miec sens, jednak nie moge przebrnac takiego
szczegoliku. Prosilbym, zeby jakis dobry czlowiek, bardziej doswiadczony niz
ja, zlitowal sie i pomogl zanim mnie krew zaleje winksmiley.jpg

pozdrawiam
strife
%20 - to jest spacja, zamiast robić linka typu:
Cytat
<a href="kasowanie_plikow.php?plik = {$dirData[i]}">usun</a><br/>

przepisz go bez odstępów między znakiem równania.
Cytat
<a href="kasowanie_plikow.php?plik={$dirData[i]}">usun</a><br/>

Natomiast jeśli chodzi o
  1. <?php
  2.  
  3.  echo($plik)
  4.  
  5. ?>

to myślę że masz na serwerze wyłączone register_globals dlatego nie działa, spróbuj:
  1. <?php
  2.  
  3. echo $_POST['plik'];
  4.  
  5. ?>


Pozdrawiam!
R4v3N
Cytat
  1. <?php
  2.  
  3. echo $_POST['plik'];
  4.  
  5. ?>


a nie

  1. <?php
  2.  
  3. echo $_GET['plik'];
  4.  
  5. ?>


Przecierz on przekazuje zmienna przez uRL tongue.gif
a nie przez header tongue.gif

Zreszta takiego zapisu powinno uzywac sie zawsze, a nie tylko przu wylaczonym register_globals.

zreszta widze jeden problem przy usuwaniu pliku. do pliku "kasowanie_plikow.php" przekazujesz tylko nazwe usuwanego pliku, a gdzie ten plik sie znajduje to skrypt sam ma to znalezc ?snitch.gif

Pozdrawiam
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.