Dynamické stránky vs SQL vs require
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Dynamické stránky vs SQL vs require
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- Balin.Tomas
- Nováček

-
- Registrován: 28. kvě 2009
Re: Dynamické stránky vs SQL vs require
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

-
- Registrován: 28. kvě 2009
Re: Dynamické stránky vs SQL vs require
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

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Dynamické stránky vs SQL vs require
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.
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'])){
$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";
}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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- Balin.Tomas
- Nováček

-
- Registrován: 28. kvě 2009
Re: Dynamické stránky vs SQL vs require
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

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Dynamické stránky vs SQL vs require
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
Doufám že jsem tě nezamotal jěště více
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)
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- Balin.Tomas
- Nováček

-
- Registrován: 28. kvě 2009
Re: Dynamické stránky vs SQL vs require
Naopak, takhle krásně nakreslenýarxeiss píše:Doufám že jsem tě nezamotal jěště více
- Balin.Tomas
- Nováček

-
- Registrován: 28. kvě 2009
Re: Dynamické stránky vs SQL vs require
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

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Dynamické stránky vs SQL vs require
Je to trochu delší ale je to tak:
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.
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";
}
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- Balin.Tomas
- Nováček

-
- Registrován: 28. kvě 2009
Re: Dynamické stránky vs SQL vs require
Huráááááá, nejenom že to funguje, ale ja to i chapu
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
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

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Dynamické stránky vs SQL vs require
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
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
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- Balin.Tomas
- Nováček

-
- Registrován: 28. kvě 2009
Re: Dynamické stránky vs SQL vs require
Když tam je tento kratší tak dolu do uvodu tu 404.php includuje společně s tím uvodem.arxeiss píše:Je to trochu delší ale je to tak: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 includeKó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"; }
Edit:\\ Úprava kódu, v tvojem případě jde použít i kratší varianta.
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Dynamické stránky vs SQL vs require
To je tak když si to nemůžu vyzkoušet. Zkus toto, už by neměl být problém
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
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";
}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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min