Dynamické stránky vs SQL vs require

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dynamické stránky vs SQL vs require

Příspěvek od arxeiss »

Tak se ptej, mi je to jedno, jenom jsem tě nepochopil, ale pokud jsi myslel toto tak když chceš mít v adrese více jak 1 GET tak se to zapisuje index.php?prvniget=neco&druhyget=neco2 a jěště, ten index tam být nemusí, do adres piš jenom <a href="?p=new">... máš tam méně textu, a když potom budeš na jiné stránce a dáš odkaz na index.php tak pak se to bude dopisovat za něho.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Balin.Tomas
Nováček
Nováček
Registrován: 28. kvě 2009

Re: Dynamické stránky vs SQL vs require

Příspěvek od Balin.Tomas »

Ne ne tohle jsem nemyslel, muj dotaz byla blbost a přišel jsem na to, ale tohle se mi také opravdu hodí.Takže ještě jednou a mockrát díky.Teď mám další problém, ale to nepatří do tohoto příspěvku.
Balin.Tomas
Nováček
Nováček
Registrován: 28. kvě 2009

Re: Dynamické stránky vs SQL vs require

Příspěvek od Balin.Tomas »

Tak znova, asi tam mám někde chybku, ukaže prazdnou stranu(index ukaže,ale bez ty načtený stránky)

Kód: Vybrat vše

if (isset($_GET['page'])){
$soubor=$_GET['page'];
$soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/page/".$soubor.".php";
}elseif (isset($_GET['admin'])){
$soubor=$_GET['admin'];
$soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/admin/".$soubor.".php";
}elseif (isset($_GET['galery'])){
$soubor=$_GET['galery'];
$soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/galery/".$soubor.".php";
if(file_exists($soubor2)){
if(substr_count($soubor,"../")>0){
echo "<h3>Upozornění</h3>Nelze nahrát soubor v nadřazeném adresáři!";
}elseif($soubor=="index" or $soubor=="/index" or $soubor=="./index"){
echo "<h3>Upozornění</h3>Index nemůže načíst sám sebe!";
}else{
include $soubor2;
}
}else{
include "inc/404.php";
}
}else{
include "nabidka.php";
}
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dynamické stránky vs SQL vs require

Příspěvek od arxeiss »

Nauč se odsazovat třeba to co je v podmínce o 1 tabulátor atd... pak ti to bude jasnější, odsadil jsem ten tvůj script a když se na to podíváš tak najdeš chybu hned.

Kód: Vybrat vše

if (isset($_GET['page'])){
  $soubor=$_GET['page'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/page/".$soubor.".php";
}elseif (isset($_GET['admin'])){
  $soubor=$_GET['admin'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/admin/".$soubor.".php";
}elseif (isset($_GET['galery'])){
  $soubor=$_GET['galery'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/galery/".$soubor.".php";
  if(file_exists($soubor2)){
    if(substr_count($soubor,"../")>0){
      echo "<h3>Upozornění</h3>Nelze nahrát soubor v nadřazeném adresáři!";
    }elseif($soubor=="index" or $soubor=="/index" or $soubor=="./index"){
      echo "<h3>Upozornění</h3>Index nemůže načíst sám sebe!";
    }else{
      include $soubor2;
    }
  }else{
    include "inc/404.php";
  }
}else{
  include "nabidka.php";
}
A pokud ne, tak tu podmínku jestli soubor existuje atd... máš jenom u toho třetího takže když máš $_GET['page'] tak se ti za $soubor2 dosadí cesta ale tím to končí, pak už to nekontroluje další podmínky takže zkončí...
Tu kontrolu dej za každou tu proměnnou, asi takto

Kód: Vybrat vše

if(isset($_GET['page'])){
  tady bude taky kontrola jestli stránka existuje
}elseif(isset($_GET['admin'])){
  tady bude kontrola jenom s jinou cestou
}elseif(isset($_GET['galerie'])){
  tady bude kontrola s cetou ke složce galerie
}else{
  if(!isset($_GET['page'] and !isset($_GET['admin'] and !isset($_GET['galery'])){
    include "uvod.php";
  }
}
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Balin.Tomas
Nováček
Nováček
Registrován: 28. kvě 2009

Re: Dynamické stránky vs SQL vs require

Příspěvek od Balin.Tomas »

Aha, ja jsem si myslel že elseif pokračuje dokud nenarazí že to má udělat a teprve potom provede i to ostatní.Doufám že chápeš jak to myslím. Každopádně to jdu předělat a budu odsazovat :)
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dynamické stránky vs SQL vs require

Příspěvek od arxeiss »

No moc jsem nepochopil jak to myslíš, ale hlavní je že chápeš jak to funguje, Prostě je if, pokud je pravda provede se co je mezi {} a pak jde až úplně na konec, pokud není pravda tak jde na další, a když tam je elseif tak to zkontroluje tu podmínku a pokud je pravda provede to co je mezi {} a zkočí zase na konec, obejde všechny elseify a else a zkočí za to

Kód: Vybrat vše

if(velká podmínka){
  if(něco){   //pokud je pravda provede první příkaz a pak jde až na konec, pokud ne zkočí a k další {
    první příkaz
  }elseif(něco){   //Tato podmínka se zkontroluje pozue pokud to nad tím není pravda
    druhý příkaz
  }else{  //Pokud není ani druhá podmínka pravda provede se toto, ať je tam cokoli
    cokoli
  }  // TADY je konec té podmínky if(něco)
} //Tady je konec podmínky if(velká podmínka)
Doufám že jsem tě nezamotal jěště více
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Balin.Tomas
Nováček
Nováček
Registrován: 28. kvě 2009

Re: Dynamické stránky vs SQL vs require

Příspěvek od Balin.Tomas »

arxeiss píše:Doufám že jsem tě nezamotal jěště více
Naopak, takhle krásně nakreslený :-D to perfekně chápu.
Balin.Tomas
Nováček
Nováček
Registrován: 28. kvě 2009

Re: Dynamické stránky vs SQL vs require

Příspěvek od Balin.Tomas »

Takže jak jsi mi to vysvětlil to chápu, ale to dosazení je těžší.Byl by jsi tak hodný a ukazal mi jak tam dosadit ty kontroly.Děkuji tisíckrát
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dynamické stránky vs SQL vs require

Příspěvek od arxeiss »

Je to trochu delší ale je to tak:

Kód: Vybrat vše

if (isset($_GET['page'])){
  $soubor=$_GET['page'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/page/".$soubor.".php";
}elseif (isset($_GET['admin'])){
  $soubor=$_GET['admin'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/admin/".$soubor.".php";
}elseif (isset($_GET['galery'])){
  $soubor=$_GET['galery'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/galery/".$soubor.".php";
}else{
  include "nabidka.php";
}
if($soubor!='' and file_exists($soubor2)){
    if(substr_count($soubor,"../")>0){
      echo "<h3>Upozornění</h3>Nelze nahrát soubor v nadřazeném adresáři!";
    }elseif($soubor=="index" or $soubor=="/index" or $soubor=="./index"){
      echo "<h3>Upozornění</h3>Index nemůže načíst sám sebe!";
    }else{
      include $soubor2;
    }
}else{
  include "inc/404.php";
}
A jěště taková poznámka, všude to kontroluje jestli jsi nezadal index ale myslím že je to trochu zbytečné, protože index bude v tom adresáři nadřazeném ne? Takže pokud jo, tak všude tu podmínku můžeš smazat a nechat tam jenom to substr_count a pak už ten include

Edit:\\ Úprava kódu, v tvojem případě jde použít i kratší varianta.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Balin.Tomas
Nováček
Nováček
Registrován: 28. kvě 2009

Re: Dynamické stránky vs SQL vs require

Příspěvek od Balin.Tomas »

Huráááááá, nejenom že to funguje, ale ja to i chapu :-D :-D
Ja jsem myslel že velká podmínka je to první GET a podle toho jsem to tam dosazoval, to samozřejmě vůbec nešlo.
arxeiss tísíckrát ti děkuji,pomohl jsi mi i k tomu pochopení.Dík
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dynamické stránky vs SQL vs require

Příspěvek od arxeiss »

Aha, tak to co jsem dával jako příklad nemělo nic společného s tím tvojím, to jsem vymyslel na vysvětlení.
Jsem rád že ti to jede a že jsi to pochopil, a čekám na pokračování v tvojem dalším tématu o Session :wink:
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Balin.Tomas
Nováček
Nováček
Registrován: 28. kvě 2009

Re: Dynamické stránky vs SQL vs require

Příspěvek od Balin.Tomas »

arxeiss píše:Je to trochu delší ale je to tak:

Kód: Vybrat vše

if (isset($_GET['page'])){
  $soubor=$_GET['page'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/page/".$soubor.".php";
}elseif (isset($_GET['admin'])){
  $soubor=$_GET['admin'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/admin/".$soubor.".php";
}elseif (isset($_GET['galery'])){
  $soubor=$_GET['galery'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/galery/".$soubor.".php";
}else{
  include "nabidka.php";
}
if($soubor!='' and file_exists($soubor2)){
    if(substr_count($soubor,"../")>0){
      echo "<h3>Upozornění</h3>Nelze nahrát soubor v nadřazeném adresáři!";
    }elseif($soubor=="index" or $soubor=="/index" or $soubor=="./index"){
      echo "<h3>Upozornění</h3>Index nemůže načíst sám sebe!";
    }else{
      include $soubor2;
    }
}else{
  include "inc/404.php";
}
A jěště taková poznámka, všude to kontroluje jestli jsi nezadal index ale myslím že je to trochu zbytečné, protože index bude v tom adresáři nadřazeném ne? Takže pokud jo, tak všude tu podmínku můžeš smazat a nechat tam jenom to substr_count a pak už ten include

Edit:\\ Úprava kódu, v tvojem případě jde použít i kratší varianta.
Když tam je tento kratší tak dolu do uvodu tu 404.php includuje společně s tím uvodem.
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dynamické stránky vs SQL vs require

Příspěvek od arxeiss »

To je tak když si to nemůžu vyzkoušet. Zkus toto, už by neměl být problém

Kód: Vybrat vše

if (isset($_GET['page'])){
  $soubor=$_GET['page'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/page/".$soubor.".php";
}elseif (isset($_GET['admin'])){
  $soubor=$_GET['admin'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/admin/".$soubor.".php";
}elseif (isset($_GET['galery'])){
  $soubor=$_GET['galery'];
  $soubor2= dirname($_SERVER['SCRIPT_FILENAME'])."/galery/".$soubor.".php";
}else{
  include "nabidka.php";
  $kont=1;
}
if($soubor!='' and file_exists($soubor2)){
    if(substr_count($soubor,"../")>0){
      echo "<h3>Upozornění</h3>Nelze nahrát soubor v nadřazeném adresáři!";
    }elseif($soubor=="index" or $soubor=="/index" or $soubor=="./index"){
      echo "<h3>Upozornění</h3>Index nemůže načíst sám sebe!";
    }else{
      include $soubor2;
    }
}elseif($kont!=1){
  include "inc/404.php";
}
A jěště příště si můžeš zkrátit tu citaci ať to není tak dlouhé. Jediná změna tam je že při té první kde se includuje nabidka.php jsem připsal $kont=1; a pak na konci místo else jsem dal elseif($kont!=1) jinak vše zůstalo
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Odpovědět

Zpět na „Programování a web“