Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Serwer prywatny
Forum PHP.pl > Forum > Serwery WWW
maxis88
Witam. Zainstalowałem już na kompie wiele paczek gotowych serwerów dla przetestowania swojej strony offline... wiem, że strona wyświetla się prawidłowo na necie ( sprawdzane na cba.pl ) jednak na lokalnym serwerze wszystko się sypie... pokazuje mi albo jakieś błędy składni ( z reguły nie pasują mu warunki "if" z $_GET[] $_POST[] itp ) albo wgl zachowuje się jakby nie działało rozpoznawanie kodu PHP i wyświetla mi bebechy na stronie ( pliki mają rozszerzenie php)... podobnie ma się sprawa jeśli mam fragment kodu z ajaxem( analogicznie do poprzedniego, mają rozszerzenie js)... wyświetla mi całe bebechy...

Programy jakie zainstalowałem to WAMP, XAMP, Vertrigo... we wszystkich sprawa ma się podobnie...

Tak więc moje pytanie brzmi, czy to serwer CBA.pl nie pokazywał mi błędów czy może jest coś źle skonfigurowane na kompie a może to różnice w wersji php ? W sumie gdyby istniały jakieś poważne błędy to strona nie działałaby online dlatego dziwi mnie fakt że na kompie nie pasuje mu jedno czy drugie...
Szymciosek
Pokaż kawałki kodu, z którymi masz problem i jaki błąd dostajesz.

Wampa sam używam i nie ma problemów, dodatkowo mam postawiony Ubuntu Server na komputerze z dostępem ze świata, a do tego jeszcze mam dostęp do innego serwera i na żadnym nie ma problemów tzn. nie działa tutaj, to nie zadziała tam.
maxis88
ok chyba znalazłem w czym problem... wszędzie mam pliki php zaczynające się od <? zamiast <?php i przez to wywalało mi bebechy... po zmianie większość działa jak powinna... dlaczego tylko ma problemy ze zmiennymi get i post które są w warunku ? problem się rozwiązuje jak dodam np
  1. if (isset($_GET['zmienna'])=='wartosc')
- zamiast -
  1. if ($_GET['zmienna']=='wartosc')
jednak jest to troche uciazliwe bo wszedzie musze to poprawic ... da sie temu jakos zaradzic ?
Szymciosek
Jak przekazujesz GET ? isset służy do sprawdzenia czy w ogóle istnieje taka 'zmienna' w tablicy GET.
maxis88
wiem do czego służy isset ale wyczytałem że tak się robi ( gdzieś na forum ) więc wypróbowałem... nie jest istotne jak przekazuje get bo wtedy kiedy wyskakuje błąd w warunku to dlatego że zmienna jeszcze nie została przekazana... jednak jak dotąd nie miałem nigdy problemu z pustą zmienną get czy post a tu i owszem ...
Szymciosek
No ja przeważnie staram się robić takie zabezpieczenie z użyciem isset, jeśli jest przekazana zmienna, to sprawdzam jej wartość porównując ją do tego czego potrzebuję, jeśli wartość się nie zgadza, lub zmienne nie jest przekazana to error.
abort
Cytat(maxis88 @ 17.10.2012, 19:01:09 ) *
problem się rozwiązuje jak dodam np
  1. if (isset($_GET['zmienna'])=='wartosc')
- zamiast -
  1. if ($_GET['zmienna']=='wartosc')
jednak jest to troche uciazliwe bo wszedzie musze to poprawic ... da sie temu jakos zaradzic ?


Rozbijmy to, co wg Ciebie jest panaceum. Zapodajesz w kodzie:
  1. if (isset($_GET['zmienna'])=='wartosc')


Krok 1:
Według http://pl1.php.net/isset funkcja isset zwraca:
- TRUE, jeśli zmienna istnieje i ma wartość różną od NULL
- w przeciwnym wypadku FALSE

Krok 2:
porównujesz wartość logiczną zwróconą przez funkcje isset() z ciągiem znaków. To mniej więcej tak, jakby porównywać zwierzęta do owoców.

Prawidłowy zapis tego, co chcesz zrobić, to:
  1. if ( isset($_GET['zmienna']) && ($_GET['zmienna']=='wartosc') )

A jak nie lubisz dużo pisać, tp np, napisz sobie funkcję
  1. function http_get ($index) {
  2. if (isset ($_GET[$index])) return $_GET[$index]
  3. else return FALSE;
  4. }
  5.  
  6. // dalej w kodzie
  7. $zmienna = http_get ('HTTP_REFERER');
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.