Autor Zpráva
Holy.day
Profil *
Zdravím, protože ještě nemám všechny stránky v databázi (a nechce se mi tam všechny dávat), snažím se zhruba o následující postup skriptu:

1. hledat v db - v případě, že tam danou stránku najde, vytáhnout z db její název ($url), který se použije pro fci require

2. v případě, že v db nenajde, zjistí $url z příkazu switch, kde jich pár k dispozici je

Kód:
if(IsSet($_GET['page'])):

include "***"; 
$spojeni = MySQL_Connect(server, uzivatel, heslo);
MySQL_Select_DB(databaze);
$hledame = mysql_query("SELECT * FROM `Stranky` WHERE 'Case' LIKE '" . $_GET["page"] . "'");
$pocet_rad = mysql_num_rows($hledame);
$nalezeny_zaz = @MySQL_Fetch_Array($hledame);

if($pocet_rad!=0) {
 $url = $nalezeny_zaz["Url"] ;}

else {

 switch($page) {

   case "news":
   $url = "novinky.php";
   break;   
   case ...   
 } 
  } 
 endif;

 require $url;


V případě, že si do adresy dosadím nějakou stránku ze switch (např. ?page=news), pak to pracuje v pořádku.

Když ale dosadím název stránky z databáze (?page=zkusebni-clanek), pak to háže tuhle chybu:
Fatal error: require() [function.require]: Failed opening required '' (include_path='.') in /DISK3/WWW/herniweb.cz/gothic/gothic3.php on line 241

Nevíte někdo, kde je problém? Typuju to na logickou chybu :(
Nox
Profil
Zkoušel jsi tu proměnnou $url vypsat před tím require? Resp. třeba ji vypiš jednak hned po vytáhnutí z databáze a jednak před require, jestli je špatně už z vytáhnutí z databáze, nebo se to ztratí/pomrví někde cestou
Kalby
Profil
no problem bude nejspis v te funkci require, zkus si vypsat promenou url jak vypada, mozna pokud se ti vklada novinky.php, nemas uz je nahodou jednou includovany na strance?

edit: o fous dyl no
Holy.day
Profil *
Kromě toho erroru se v obsahový části nic dalšího už nevloží. $url jsem zkoušel vypsat hned po
$url = $nalezeny_zaz["Url"]
, ale kromě toho erroru opět na stránce nic nebylo..
Holy.day
Profil *
Kromě toho erroru se v obsahový části nic dalšího už nevloží. $url jsem zkoušel vypsat hned po
$url = $nalezeny_zaz["Url"]
, ale kromě toho erroru opět na stránce nic nebylo..
Kalby
Profil
tak zakomentuj tu funkci require!!!!
Holy.day
Profil *
Hotovo. $url nic nevypisuje, tak bude chyba asi někde v dotazu
Kalby
Profil
nejspis
Mastodont
Profil
WHERE 'Case' LIKE


Co je 'CASE' ??
Holy.day
Profil *
Měsíček
Profil
Klíčová (rezervovaná) slova, mohou být názvy řádků? :)
Mastodont
Profil
Case v jednoduchých apostrofech je bráno jako hodnota, nikoli jako název sloupce. Identifikátor názvů sloupců, tabulek apod. v MySQL je AFAIK backtick (Alt + 96).
Timy
Profil
Měsíček
Jn, ale musíš to pak psát v apostrofech (teda takových těch `SQL apostrofech` — zpětný apostrof nebo jak se tomu nadává). V C taky můžeš napsat "for" :-)
Holy.day
Profil *
Děkuji, s vysokou pravděpodobností to bylo ono, protože $url to už vypisuje. Tyhle nenapádný chyby (i když o tomhle jsem fakt nevěděl) bývají nejzákeřnější :)

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: