Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]z php4 na php5
Forum PHP.pl > Forum > Przedszkole
rapid_fire
Witam
Potrzebuję waszej pomocy. Mój dostawca zmienił mi PHP4 na PHP5. Niestety wraz ze zmianą PHP przestała mi chodzić strona.

Strona zbudowana jest tak, że skrypt php zasysa informacje z bazy.
Tak wygląda linia adresu:
http://www.nazwastrony.pl/index.php?ntabel...strony&lp=2

W pliku index.php mam:

  1. <?php
  2. if($ntabela==galeria) { include ('galeria.php'); }
  3.  
  4. elseif ($ntabela==news) {
  5. include ('news.php');
  6. }
  7.  
  8. else {
  9. include ('podstrony.php');
  10.  }
  11. ?>


Kluczowy jest plik podstrony.php w nim następuje pobranie danych z bazy:

  1. <?php
  2. $wynik = mysql_query ("SELECT * FROM $ntabela WHERE lp='$lp';")
  3. ?>


I tak to sobie wszystko działało na PHP4 a teraz już niestety nie dział. Bez względu na to jaką wartość przyjmie zmienna lp strona zawsze pokazuje to samo miejsce (pierwszą stronę). Nie następuje "przeniesienie" wartości zmiennej z (paska) adresu do skryptu.
Proszę o jakieś światełko w tunelu
Dziękuję!
nospor
http://nospor.pl/php-faq-n29.html#faq-3
smile.gif
Pride
głównie to, zamień zmienne globalne na $_GET['']; smile.gif
Coś w stylu:
if($_GET['ntabela']==galeria) { include ('galeria.php'); }

Cytat(rapid_fire @ 8.07.2008, 22:07:10 ) *
Przyznaję się napisałem tu bo nie zaglądałem do kodu już kilka miesięcy, ktoś inny miał się tym zajmować. Teraz niestety jest to mój problem.
Jak dobrze zrozumiałem polecony materiał (tak na marginesie wiele z tych „sztuczek” stosowałem ale tak jak napisałem wyszło mi z nawyku) to trzeba zmienić każdy zapis: $zmianna na $_GET['zmienna']. Tak też zacząłem robić.
Niestety nie mogę wpaść na to jak zmienić ten zapis:
$wynik1 = mysql_query ("SELECT * FROM $ntabela WHERE kat='$lp';")

Jeśli jest tak jak napisałem to mam przed sobą tysiące linijek kodu do zmiany i mało czasu proszę o wyrozumiałoś.
T.

To $lp jest pobierane z adresu? Jeżeli tak, to po prostu zamień to na geta smile.gif tak samo z tą ntable.
rapid_fire
Przyznaję się napisałem tu bo nie zaglądałem do kodu już kilka miesięcy, ktoś inny miał się tym zajmować. Teraz niestety jest to mój problem.

Jak dobrze zrozumiałem polecony materiał (tak na marginesie wiele z tych „sztuczek” stosowałem ale tak jak napisałem wyszło mi z nawyku) to trzeba zmienić każdy zapis: $zmianna na $_GET['zmienna']. Tak też zacząłem robić i jest już prawie dobrze.

Dzięki za natchnienie i pomoc
nexis
  1. <?php
  2.  
  3. if (!isset($_GET['ntabela'])) exit('Zmienna "ntabela" nie istnieje!');
  4. if (!isset($_GET['lp'])) exit('Zmienna "lp" nie istnieje!');
  5.  
  6. switch ($_GET['ntabela']) {
  7. case 'galeria':
  8. include 'galeria.php';
  9. break;
  10. case 'news':
  11. include 'news.php';
  12. break;
  13. default:
  14. include 'podstrony.php';
  15. }
  16.  
  17. $wynik = mysql_query("SELECT * FROM `" . $_GET['ntabela'] . "` WHERE `lp` = '" . intval($_GET['lp']) . "'");
  18.  
  19. ?>
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.