Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] [mysql] HTTP_SERVER_VARS jako zmienna nie działa
Forum PHP.pl > Forum > Bazy danych > MySQL
Darekxp
Witam! Coś jest nie tak, jeśli WHERE klasa="2ti" wszystko działa ok i pokazuje danych uczniów którzy są w klasie 2ti. Jeśli użyje $HTTP_SERVER_VARS['PHP_SELF']; już nie pokazuje rekordów. zależy mi na tym, aby w zależności od linku np www.strona/klasa/2ti pokazywało uczniów tylko tej klasy którzy do niej przynależą, zamiast tworzyć 30 plików dla każdej klasy osobno:)
  1. <?php
  2. $klasa = $HTTP_SERVER_VARS['PHP_SELF'];
  3.  
  4. mysql_connect("","",""); mysql_query("SET NAMES 'latin2'");
  5.  
  6. $wynik = mysql_query(" SELECT * FROM uczen WHERE klasa='.$klasa.'") // klasa="2ti" wszystko ok
  7. or die('Błąd zapytania');
  8.  
  9. if(mysql_num_rows($wynik) > 0) {
  10.  
  11.    
  12.    while($r = mysql_fetch_array($wynik)) {
  13.    
  14.    
  15.  
  16.        echo "<img src=http://strona/img/strzalka.png alt=strzalka> <b>".$r[4]."</b>";
  17.        echo "(".$r[1]." ";
  18.        echo "".$r[2]." )<br>";
  19.      
  20.    }
  21.    
  22. }
  23.  
  24. ?>
wookieb
To takie coś sobie wyciągasz $_SERVER['QUERY_STRING'];
Ajeszcze szybciej jak użyjesz zwykłego GETA.
Darekxp
coś nie trybi, nie wiem co źle robie sadsmiley02.gif możecie wstawić cały mój kod juz po edycji? nie używam mod rewrite jeśli to ma jakieś znaczenie.
artega
@Darekxp poważnym błędem z Twojej strony jest brak filtracji danych wejscowych. PHP_SELF można zmodyfikować tak by doprowadzić do SQL Injection w tym przypadku. Włącz raportowanie błędów PHP na początku skryptu przez error_reporting(E_ALL) - domyślam się, że długie nazwy tablic globalnych masz wyłączone więc zamiast pisać $HTTP_SERVER_VARS stosuj $_SERVER.
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.