Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z ?id=
Forum PHP.pl > Forum > Przedszkole
Lombi
Chyba ostatni problem jaki napotkałem! Przynajmniej na tym etapie edukacji winksmiley.jpg
Czy ktoś spotkal się z tym że polecenie ?id= nie działa?

  1. <?php
  2. if($id=="") include("tresc/glowna.html");
  3. ?>


  1. <a href="index.php?id=tresc/glowna">Strona glowna</a><br>
  2. <a href="index.php?id=tresc/aktualnosci">Aktualnosci</a><br>


Na starcie wczytuje strone "tresc/glowna.html" ale po naciśnięciu na link juz nic nie robi!
Co znowu skopałem? sad.gif
Jakiekolwiek sugestie mile widziane smile.gif
dawhol
no bo ty masz wyswietlanie tylko wtedy gdy id jest puste a pozatym lepiej do tego uzyc

  1. <?php
  2. empty($id) niz $id == ""
  3. ?>


Musissz dodac takie cos

  1. <?php
  2. if(empty($id)) include("tresc/glowna.html"); else include('$id');
  3. ?>
MagnuM
Przeanalizujmy.

Masz plik:

  1. <?php
  2. if ( $id == '')
  3. {
  4. include("tresc/glowna.html");
  5. }
  6. ?>
  7.  
  8. <a href="index.php?id=tresc/glowna">Strona glowna</a><br>
  9. <a href="index.php?id=tresc/aktualnosci">Aktualnosci</a><br>


Sprawdzasz czy zmienna $id jest pusta. Jeżeli tak wczytujesz plik 'tresc/glowna.html'.
Na końcu wyświetlasz linki.

Niestety problem tkwi w tym, że nie zadeklarowano co dzieje się w przypadku gdy zmienna != (nie jest równa) jakiejś wartości, to znaczy gdy posiada jakąś wartość.

Rozwiązaniem powinna być zmiana początku skryptu:

  1. <?php
  2. if ( $id == '')
  3. {
  4. include 'tresc/glowna.html';
  5. } else
  6. {
  7. include $id .'html'; //taki przyklad
  8. }
  9. ?>


Zastrzegam że móimy o przypadku, w którym włączona jest opcja register_globals w plioku php.ini, kóra odpowiedzialna jest za rejestrowanie do zwykłych zmiennych odpowiedników ze zmiennych typu $_POST, $_GET itp. W przeciwnym wypadku aby skrypt działał należy zamienić '$id' na '$_GET['id']'
Lombi
Wiecie co żedna z tych opcji nie działa jest dokładnie to samo exclamation.gif! sad.gif
Moze to coś jeszcze innego?
MagnuM
Jeżeli te pliki są w tym samym katalogu, to masz wyłączoną opcję register_globals, o której już wspominałem. Jak nie będziesz czytał całych wiadomości to nigdy nie rozwiążesz swoich problemów. Myślę, że to jest właśnie Twój problem.
Lombi
Coż MagnuM miałeś racje! Działa bez problemu! Niestety nie wiedziałem że jeśli te pliki są w tym samym katalogu to register_globals jest wyłączona i dlatego nie sprawdziłem! Ale fakt że mogłem!
Dzięki za porade!
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.