Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana wersji php
Forum PHP.pl > Forum > Przedszkole
daredevil_sn
Wczoraj na moim serwerze zmienili wersje php z 4 na 5 (nareszcie). Lecz co ciekawe spowodowalo to ze stronka ktora wczoraj dzialala dzis dzialac juz nie chce. Objawia sie to tym ze obojetnie jaka wartosc id bedzie w url to zawsze ladowana bedzie strona tak jakby id byl pusty lub wynosil 1...


Poniewaz tworzenie tej stronki bylo moim pierwszym spotkaniem z php wyszlo mi tylko cos takiego:

  1. <?php 
  2.  
  3. if(empty($id) or $id=="1") {
  4. include("start.html"); }
  5. if($id=="2") {
  6. include("pierwsza.html"); }
  7. if($id=="3") {
  8. include("druga.html"); }
  9. if($id=="4") {
  10. include("trzecia.html"); }
  11. if($id=="5") {
  12. include("czwarta.html"); }
  13. ?>


znalazlem cos o zmianie dzialania funkcji empty() w php5 ale czy moglo by to miec az taki wplyw na dzialanie strony?
Maciekbjw
Wątpie, by to miało jakieś znaczenie, bo ten skrypt w PHP4 i PHP5 powinien działać. Rozumiem,że $id to zmienna przekazywana w adresie($_GET)

W takim razie spróbuj:
  1. <?php
  2.  
  3. if($_GET['id']=='1')
  4. {
  5. include 'pierwsza.html';
  6. }
  7. elseif($_GET['id']=='2')
  8. {
  9. include 'druga.html';
  10. }
  11. ...//
  12. ?>
nevt
poszukaj w manualu (albo pogoogluj) PHP5 register globals
dopisz na starcie
  1. <?php
  2. $id = isset($_GET['id'] ? $_GET['id'] : NULL);
  3. ?>
Trobin
Warto by też zmienić ten kawałek kodu w nieco mniejszy:
  1. <?php
  2. $go=$_GET['go'];
  3. if (IsSet($go))
  4. {
  5. if (file_exists($go.".php"))
  6. $open=$go.".php";
  7. include ($open);
  8. ?>
l0ud
Cytat
Warto by też zmienić ten kawałek kodu w nieco mniejszy:


Chyba jednak nie... Lepiej przewidzieć jakie podstrony mają być, niż pozwolić na takie cuda jak wczytanie się skryptu przez samego siebie w pętli.
qrees
Cytat(Trobin @ 27.03.2008, 18:54:26 ) *
Warto by też zmienić ten kawałek kodu w nieco mniejszy:
  1. <?php
  2. $go=$_GET['go'];
  3. if (IsSet($go))
  4. {
  5. if (file_exists($go.&#092;".php\"))
  6. $open=$go.&#092;".php\";
  7. include ($open);
  8. ?>

1. isset($go) zawsze będzie true, bo wcześniej coś na niego przypisujesz...
2. masz gdzieś taki skrypt wgrany? pobawiłbym się tongue.gif
Trobin
Hmm, oczywiście nie jest to skrypt do "kopiuj&wklej" (a szczególnie to isset($go) tongue.gif ), ale przy odpowiednich zabiezpieczeniach chyba będzie ok winksmiley.jpg . Jak masz 4 podstrony na krzyż to pewnie lepiej przewidzieć (w takim razie przydałby się jeszcze jakiś else z wyświetlaniem błędu winksmiley.jpg ). Pewnie macie racje tongue.gif . Tylko powiedzcie, czy odpowiednio zabezpieczone "takie coś" będzie ok.
Cytat
masz gdzieś taki skrypt wgrany? pobawiłbym się

only localhost, sorry tongue.gif

I sorry za lekkie zejście z tematu winksmiley.jpg
l0ud
Trobin, a wpisz sobie jako $go 'index' (albo inne, jeżeli nazwa tego skryptu includującego jest inna). Ja bym sobie nie pozwolił na taki 'efekt' winksmiley.jpg
Trobin
Jasne, że zostawienie tego w takiej formie jest złe, to już ustaliliśmy winksmiley.jpg (powyższy kod był pisany jako "kierunek" a nie "cel drogi" smile.gif ) ale chodzi mi raczej o to, jak coś takiego ew. zabezpieczyć, bo jak robi Ci się za dużo podstron a nie masz dostępu do bazy to robi się bajzel winksmiley.jpg

Edit
Cytat
Trobin, zawsze możesz użyć pliku tekstowego. Ale chyba za bardzo odbiegamy od tematu winksmiley.jpg

Chyba masz rację winksmiley.jpg
l0ud
Trobin, zawsze możesz użyć pliku tekstowego. Ale chyba za bardzo odbiegamy od tematu winksmiley.jpg
vtuner
może podziała za pomocą switch" title="Zobacz w manualu PHP" target="_manual.
daredevil_sn
Dzieki wielkie Panowie za odpowiedz! Strona ruszyla sama z siebie wiec wyglada ze poprostu ciagle trwala migracja serwa z php4 na php5 (czemu nic mi nie powiedzieli...). Mimo to z przyjemnoscia biore sie do zmieniania bo tyle ifow mi sie nie podobalo, wiec dzieki wielkie @vtuner za info o switchu (niemialem pojecia ze w php tez jest. i to dokladnie tak samo jak w AS biggrin.gif ) Ha! czegos sie nowego nauczylem o php rolleyes.gif
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.