Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
PHP problem, višenamjenske stranice

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
dadot



Joined: 05 Nov 2006
Posts: 13

PostPosted: 06.11.2006 18:26    Post subject: PHP problem, višenamjenske stranice Add user to your forum ignore list Reply with quote

Pozdrav, Smile

Radim na jednoj stranici na kojoj pomoću php-a određivam koja stranica ce se prikazat!
primjer:

u index.php fajlu imam jednu switch granu:

switch ($_GET[kategorija])
{
case "vicevi":
include 'vicevi.php';
break;
case "slike":
include 'smijesne_slike.php';
break;
...
default:
include 'home.php';
break;
}

e sad, problem nastaje kada u nekoj od tih podstranica sa header funkcijom radim redirect na istu stranicu odnosno na samog sebe,

primjer header("Location: smijesne_slike.php?orderby=date");

ili pomocu linka <a href="smijesne_slike.php?orderby=date">Date</a>

jer onda on pozove tu stranicu u browseru a ta stranica sluzi samo za prikaz podataka, a izgled je definiran u index.php stranici! Znaci mene zanima jel ima nacin da dizajn ostane samo u index.php stranici a ne da stavljam u svaku podstranicu?

Nadam se da ste skužili na kaj mislim, ako niste objasnit cu još!
Wink
Back to top
View user's profile Send private message
dadot



Joined: 05 Nov 2006
Posts: 13

PostPosted: 06.11.2006 19:27    Post subject: Add user to your forum ignore list Reply with quote

Kaj nitko nezna? Shocked
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 06.11.2006 19:31    Post subject: Add user to your forum ignore list Reply with quote

Question
Code:
header("Location: index.php?kategorija=slike&orderby=date");
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dadot



Joined: 05 Nov 2006
Posts: 13

PostPosted: 06.11.2006 23:06    Post subject: Add user to your forum ignore list Reply with quote

Sulien wrote:
Question
Code:
header("Location: index.php?kategorija=slike&orderby=date");


Da, ali onda moram sav taj kod trpat u jedan file, tj index.php koji ce obradit te parametre!
Znaci sve ono, konekcija na bazu, upit, ispis podataka koje upit vrati! I unutar tog file više nemogu pozivat funkciju header() jer vec imam <head></head> tag od hml-a i vrati mi gresku da je header vec poslan browseru!

Jel znas mozda neki dobar link di je baš to objašnjeno! Smile

tnx
Back to top
View user's profile Send private message
PaNtHeR



Joined: 17 Sep 2003
Posts: 161

PostPosted: 06.11.2006 23:16    Post subject: Add user to your forum ignore list Reply with quote

Probaj koristit $_SERVER['php_self'] ili request_uri. Dakle:

header("Location: $_SERVER['php_self']?orderby=date");

Ako sam dobro skuzio što ti treba. Mislim da ti u $_SERVER['request_uri'] bude ono sto piše u adress baru u browseru. Ali još probaj, ovo sve govorim onako polu-napamet.

Nadam se da sam pomogao.

Pozdrav
Back to top
View user's profile Send private message Send e-mail
dadot



Joined: 05 Nov 2006
Posts: 13

PostPosted: 06.11.2006 23:27    Post subject: Add user to your forum ignore list Reply with quote

Malo je teže za objasnit! Smile

Kad na pocetnoj strani kliknem na neki link, npr vicevi onda u browseru imam ovo
../index.php?kategorija=vicevi

znaci da mi se includa stranica vicevi.php!
E sad sav kod koji je vezan za tu stranicu se nalazi u vicevi.php!
I kada kliknem na neki link unutar te stranice onda mi se u browseru pojavi,
../vicevi.php?nesto=nesto:... itd (sve to se nalazi unutar index.php fajla), e sad fora je u tome da ja u vicevi.php neam nikakav dizajn, samo php kod za ispis podataka iz baze. Sav dizajn se nalazi i index.php to i je poanta svega da dizajn drzm na jednom mjestu i da se ne treba cijela stranica ucitavati svaki put kad kliknem na neki link nego samo onaj dio koji se treba!
Back to top
View user's profile Send private message
dadot



Joined: 05 Nov 2006
Posts: 13

PostPosted: 06.11.2006 23:33    Post subject: Add user to your forum ignore list Reply with quote

I sad kad kliknem na neki link unutar stranice vicevi.php?nesto=nesto onda mi on te parametre prosljedi stranici index.php a ne stranici vicevi.php koja ima kod za brađivanje tih parametara! Jer stranica index.php nema taj kod, onda ima samo kod koji gleda kojij je od linkova u meniju pritisnut i ovisno o tome includa određenu stranicu!
Back to top
View user's profile Send private message
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 07.11.2006 00:55    Post subject: Add user to your forum ignore list Reply with quote

Neka ti index.php sluzi kao entry point za sve stranice. U njega includeaj sav kod koji koristis na svim stranicama - konekcije nabazu, funkcije i slicno. I onda u index.php includeas stranicu koja ti je potrebna, npr vicevi.php koja sadrzi kod za tu stranicu....

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 07.11.2006 00:56    Post subject: Add user to your forum ignore list Reply with quote

Ahaa... kužim Smile

CTRL-N, start over. To je moj česti savjet Smile

Ako nećeš to, onda obavi svu logiku stranice prije nego što počneš outputati HTML ("<html><head>..."). Ne možeš poslati header nakon što je bilo što otišlo u output. Bit će ti teško jer po onome što govoriš znam da pišeš težak špageti-kod, ali ono - svi smo jednom bili početnici

Code:
<?php

/*** sva logika ovdje (baza, parametri, kalkuliranje, redirect) ***/

/* podatke za output spremiš u variable */

?>
DOCTYPE
<html>
<head> ... </head>
<body>
<!-- sav output ovdje ...  -->
<h1><?php echo $main_title ?></h1>
</html>


Last edited by Sulien on 07.11.2006 01:01; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 07.11.2006 00:59    Post subject: Add user to your forum ignore list Reply with quote

Sulien wrote:
Ne možeš poslati header nakon što je bilo što otišlo u output.


mozes ak koristis output buffering Razz

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 07.11.2006 01:03    Post subject: Add user to your forum ignore list Reply with quote

To je easy way out Razz

Špageti-kod treba iskorijeniti na izvoru, ako mu kažeš za output buffering neće nikad počistit code
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dadot



Joined: 05 Nov 2006
Posts: 13

PostPosted: 07.11.2006 11:01    Post subject: Add user to your forum ignore list Reply with quote

Špageti-kod treba iskorijeniti na izvoru, ako mu kažeš za output buffering neće nikad počistit code[/quote]

Ha ha, pokušavam programirat što je čišće jer i meni to komplicira život kad nešto treba nadodat ili maknut! S vremenom će bit sve bolje!

Proučavao sam malo Xtemplate

http://xtemplate.sourceforge.net/

Kolko sam vidio nije kompliciran, a super je kad se odvoji dizajn od php koda a ne kad je sve isprepleteno!

Quote:

Neka ti index.php sluzi kao entry point za sve stranice. U njega includeaj sav kod koji koristis na svim stranicama - konekcije nabazu, funkcije i slicno. I onda u index.php includeas stranicu koja ti je potrebna, npr vicevi.php koja sadrzi kod za tu stranicu....


Tako i imam, ali nemogu napravit da iz stranice vicevi.php napravim refresh te iste stranice sa drugim parametrima(npr da mi se sortiraju vicevi po drugoj kategoriji i slično) unutar index.php stranice!
Back to top
View user's profile Send private message
les



Joined: 25 Oct 2004
Posts: 370

PostPosted: 07.11.2006 11:19    Post subject: Add user to your forum ignore list Reply with quote

Uf al si ga zapetljao...
Koliko sam ja shvatio iz cijele ove priče unutar index.php fajla imaš switch-case petlju kojom pozivaš ostatak koda. Obzirom da ti treba parametar sa kojim ćeš određivat koji .php fajl ćeš koristit (kategorija) i parametar sa kojim ćeš odredit daljnju akciju koja će se odvijat u pozvanom .php fajlu (soritranje ili već nešto), dovoljno je unutar tvog vicevi.php stavit link na index.php?kategorija=vicevi&akcija=nesto.
Znači sa kategorija=vicevi includaš file "vicevi.php", a sa akcija=nesto određuješ što će se unutar vicevi.php dogodit dalje.
Mislim da jednostavnije od ovog ne može bit Think
Back to top
View user's profile Send private message Send e-mail
dadot



Joined: 05 Nov 2006
Posts: 13

PostPosted: 07.11.2006 21:32    Post subject: Add user to your forum ignore list Reply with quote

Skužio sam kak ću napravit, tnx svima na pomoći! Wink
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group