lara85
17.02.2009, 13:55:49
Witam
Tworzę aplikację internetową posiadającą takie funkcje jak m.in. dodaj usuń plik, edycja plików z poziomu strony www. Mam taki problem:
-lokalnie wszystko działa super (WebServ);
natomiast kiedy wrzuciłam wszystko na serwer (free) nie działają mi te funkcje, tylko logowanie.
Jaka może być tego przyczyna? Wiem że jeśli PHP miałby włączone safe mode to nie działała by mi funkcja logowania, a ona działa, tylko te inne nie chcą. Czy jeśli wrzucę to wszystko już na płatny serwer to zadziała. Proszę o pomoc.
nospor
17.02.2009, 13:59:50
przyczyn moze byc wiele, np. register_globals
http://nospor.pl/php-faq-n29.html#faq-3
lara85
17.02.2009, 14:16:50
No właśnie tak się odwołuję.
Na przykładzie funkcji "usun" może wytłumaczę o co dokładnie mi chodzi:
Funkcja nr1 pokazuje mi jakie pliki znajdują się na serwerze i obok każdego jest "usuń"
Klikając na to pokazuje się że usunięto plik o tej nazwie ale kiedy sprawdzam liste plików on nadal tam jest. i tak samo jest właśnie z innymi funkcjami. Nie pokazuje żadnych błędów
nospor
17.02.2009, 14:31:57
to pokaz kod.
Cytat
Nie pokazuje żadnych błędów
http://nospor.pl/php-faq-n29.html#faq-2
lara85
17.02.2009, 14:39:16
Kod pliku nr 1
<?
if(auth())
{
$katalog = opendir("../../download/");
while ($plik = strtolower(readdir($katalog))) {
if ($plik<>"." && $plik<>".." && $plik<>"pokaz.php" ) $lista[]=$plik;
}
closedir($katalog);
if (count($lista)>0) {
echo "<p class=okk align=left>Wybierz plik ktory chcesz usunac:</p>";
sort($lista);
}
for ($i=0;$i<count($lista);$i++) {
echo "<p class=okk align=left><br />Plik <b>$lista[$i]</b> <a href=\"../../download/pokaz.php?usun=$lista[$i]\">Usuń plik</a>";
}
}
else
{
print "<p class=error align=center>*** Brak dostępu ***</p>";
}
?>
kod pliku pokaz.php
<?php
$usun=$_GET[usun];
if ($usun<>"" && file_exists($usun)) {
unlink($usun);
echo "<p> </p>usunieto plik: <b>$usun</b><br/><br/>";
echo "<a href=\"../system/21232f297a57a5a743894a0e4a801fc3/index.php?page=link2&".SESID."\">Powrót</a><br>";
}
?>
mike
17.02.2009, 14:40:40
Cytat(lara85 @ 17.02.2009, 14:39:16 )

Kod pliku nr 1
No i? Po co to wkleiłaś?
nospor
17.02.2009, 14:42:12
1) uzywaj bbcode!!
2) skoro doszedl do tekstu "Plik usunieto" a fizycznie go nie usunal, to funkcja unlink() zwrocila blad. Jakbys wlaczyl wyswietlanie komunikatow (linka ci podalem w poprzednim poscie) to pewnie bys zobaczyl co to za blad
lara85
17.02.2009, 14:48:16
No ok już użyłam tego co napisałeś. I czy mógłbyś mi wytłumaczyć co to znaczy:
Notice: Use of undefined constant usun - assumed 'usun' in
/users/p/przykladmonika/logowanie/download/pokaz.php on line
10Warning: unlink(index.php) [
function.unlink]: Permission denied in
/users/p/przykladmonika/logowanie/download/pokaz.php on line
13 usunieto plik:
index.phpNotice: Use of undefined constant SESID - assumed 'SESID' in
/users/p/przykladmonika/logowanie/download/pokaz.php on line
16
nospor
17.02.2009, 14:50:13
pierwszy blad:
nie: $_GET[usun]
a: $_GET['usun']
Drugi blad: wyraźnie napisane ze nie masz praw do usuniecia tego pliku
ps: na przyszlosc jak ktos ci cos podaje to od razu to zrob a nie trzeba prosic w kolejnych postach
lara85
17.02.2009, 15:13:16
pierwszy błąd -zmieniłam
a co do drugiego błędu to jak zrobić żebym miała prawa do tego?
Dobra już wiem. Bardzo Ci dziękuję za pomoc i stracony przeze mnie czas. Pozdrawiam.
nospor
17.02.2009, 15:16:42
Cytat
stracony przeze mnie czas
Nie stracilem przez Ciebie czasu. Pomoglem ci jak kazdemu innemu. Na przyszlosc jednak staraj sie wypelniac sumienniej dobre rady - zaoszczedzisz czas sobie i innym
ps: dobrym zwyczajem jest dane POMOGL osobie, która ci pomogla
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.