Autor Zpráva
toustovej chleba
Profil *
Ahoj includuji obsach stránek přes parametr GET.. Proto jsem měl ochranu proti includování blbostí:
      if ($stranka != "aaa" && $stranka != "bbb" && $stranka != "ccc" && $stranka != "ddd" && $stranka != "eee")                            
              {   
                  $stranka = "e404";
              }

Teď ale předěávám rubriky na načítání z databáze takto:

 mysql_query("SET NAMES utf8");
              $dotaz = mysql_query("SELECT `nazev-prac`, `nazev` FROM rubriky"); 
              
              while($r = mysql_fetch_array($dotaz)) 
              {         
              $ochrana .= " $"."stranka != '".$r['nazev-prac']."' && ";   
              }
         
              $ochrana .= "$"."stranka != 'eee'";
                
                if ($ochrana)
              {
                  $stranka = "e404";
              }


Mělo by to být úplně to samé ale ten druhý spůsob nefunguje..

Když vypíšu proměnou $ochrana hodí to toto:
$stranka != 'aaa' && $stranka != 'bbb' && $stranka != 'ccc' && $stranka != 'ddd' && $stranka != 'eee' 


Což je úplně stejné jako v tom prvním případě..
Nebo nemůžou za to ty apostrofy (jediný rozdíl od původní verze), nebo je tam jiná chyba. Díky za odpověď
Segi_L
Profil
Čo si si naprogramoval to máš. Čo je tvojim cieľom? Chceš kontrolovať či je $stranka v DB a ak nie tak
$stranka = "e404";
?
Taps
Profil
toustovej chleba:
ten tvůj zápis je docela kostrbatý..použil bych switch, případně další řešení...jedno z nich je např. na http://pecan.cz/index.php?id=44&n=konec-ramcu-v-cechach
toustovej chleba
Profil *
Ano chci kontrolovat zda je stránka v databázi + jedna administrační stránka (není v DB nejde upravovat..). A pokud ne tak vyhodit e404...
Taps
Profil
toustovej chleba:
pokud kontroluješ url tak je podle mě zbytečné používat cyklus
mysql_query("SET NAMES utf8");
$stranka=mysql_real_escape_string($_GET['stranka']);
              $dotaz = mysql_num_rows("SELECT nazev-prac FROM rubriky where nazev-prac='$stranka'"); 
              
                   
                if ($dotaz!=1)
              {
                  $stranka = "e404";
              }
Segi_L
Profil
toustovej chleba:

mysql_query("SET NAMES utf8");
$stranka = mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes($_GET["stranka"]) : $_GET["stranka"]);

$dotaz = mysql_query("SELECT count(nazev-prac) FROM rubriky where nazev-prac='$stranka'"); 
if (!mysql_num_rows($dotaz))
{
    $stranka = "e404";
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0