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
include pitanje

 
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
jokla



Joined: 31 Oct 2004
Posts: 113
Location: Right behind you

PostPosted: 29.04.2005 19:39    Post subject: include pitanje Add user to your forum ignore list Reply with quote

Imam mali problem oko includiranja.

Imam jednu index.php stranicu sa nekim layoutom i onda koristim ovaj kod za includiranje drugih stranica
Code:

<?php
   if(!isset($category)) $category = "home";
   include($category.".php");
?>   

Mislim da znate šta to ovdje radi . . . to je dobar način includiranja ako imate jako puno stranica s čine radite . . . jedini problem, sitni, problemčič je da ako imate foldere u linku to morate navesti
Code:

npr.  index.php?category=stranica1

a ako treba otići u folder onda morate u linku napisati folder

npr. index.php?category=folder/stranica . . . . na ovaj način se i u address baru vidi naziv foldera . . . a i izgleda malo glupo ali to nije problem


e sada ja pravim stranicu koja će biti na različitim jezicima pa za svaki jezik ću napraviti folder . . . s ovim includiranjem bi meni sve bilo iskomplicirano jer u svakom folderu za svaki jezik bi imao index.php koji bi učitavao svoj folder . . . njemacki index njemački, engleski eng. . . . itd itd.

sada me zanima da li mogu u ovaj gore navedeni include način ubaciti nekako da se svi jezici učitavaju u istu index.php stranicu . . .

da znam, za mijenjanje folder jesnostavno koristim chdir("ime foldera");


probao sam napraviti nešto kao
Code:

<?php
   if(!isset($category)) $category = "home";
   include($category.".php");
   elseif(!isset($category)) $category = "home";
   chdir("eng");
   include($category.".php");
?>

ali ovo mi na elseif liniji ispiše grešku.


znam za još jedan način includiranja
Code:

<?php
   if($call == "naslovna"){include("index.php");}
   elseif($call == "cool"){include("cool.php");}
?>

gdje onda linkovi izgledaju
Code:

<a href="?call=naslovna>Naslovna</a>

E sada kod ove fore moram u index stranicu upisati elseif za svaku postojeću stranicu . . . a ako imam 100 komada onda pišem jednom if i 99 elseif . . . što je malo zeznuto i nije baš pregledno . . . lagano se može tu pobrkati neke stvari.

Mene sada zanima da li postoji način kako da modificiram onaj gornji primjer da mi proradi ono što želim ili da li postoji negdje neki tutorial oko tog includiranja, gdje se opisuje načini i mogućnosti oko tipova includiranja. Nisam baš jako pametan oko toga. Tražim najjednostavniji način za ovo.

Thanks

_________________
"If this world makes you crazy, than everything is ok with you" - ~demony
Back to top
View user's profile Send private message Visit poster's website
retro_one



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

PostPosted: 29.04.2005 19:55    Post subject: Add user to your forum ignore list Reply with quote

jab'to vako rjesio

dakle za svaki jezik svoj folder, za svaku kategoriju podfolder u jeziku i onda rokas ovako

recimo da je ovo link koji si pozvao index.php?lang=en&cat=vijesti&name=index

a ovo ti includa stranicu:
Code:

if(!isset($_GET['name']) { include('index.php') }
else {
    $langDir = basename($_GET['lang']);
    $dir = basename($_GET['cat']);
    $file = basename($_GET['name']).".php";
    $includeUrl = $langDir."/".$dir."/".$file;
if(file_exists($includeUrl))
{
    include($includeUrl);
}
else { include(index.php);}


i onda jos roknes sve urlove u neki array

u stilu

$array['en']['vijesti']['index'] = "News";
$array['hr']['vijesti']['index'] = "Vijesti";

i onda prodjes kroz array i kreiras linkove..ovako npr:
Code:

foreach($array[$_GET['lang']] as $arrItem)
{
    foreach($arrItem as $folder => $linkovi)
    {
        foreach($linkovi AS $link => $nazivLinka)
        {
            echo "<a href=\"index.php?lang=".$_GET['lang']."&cat=".$folder."&name=".$link."\">".$nazivLinka."</a>";
        }
    }
}

ovo je napisano iz glave i nabrzaka...pa bi se dalo i optimizirati, a i vjerojatno ima bugova...al to ti je otprilike princip rada

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



Joined: 08 Jun 2004
Posts: 107

PostPosted: 30.04.2005 02:11    Post subject: Add user to your forum ignore list Reply with quote

@retro_one: mislim da je kljucna rijec ovdje basename();
Smile

@jokla: kako mozes napisati:
Code:
<?php
   if($call == "naslovna"){include("index.php");}
   elseif($call == "cool"){include("cool.php");}
?>


kad je index.php stranica u koju inkludas fajlove ... nemozes inkludat index.php u index.php, mislim mozes, al nemozes Smile

prouci na php.net basename(); i is_dir();
mislim da su to vrlo vazne stvari kod inkludanja, da ti ne bi netko uvalio neku glupost kad zavrsis sajt

btw
ja inace koristim switch kad je nekoliko stranica za inkludanje u igri.
puno je fleksibilniji od if, pogotovo zato sto mozes staviti break gdje hoces.
Back to top
View user's profile Send private message
jokla



Joined: 31 Oct 2004
Posts: 113
Location: Right behind you

PostPosted: 30.04.2005 09:23    Post subject: Add user to your forum ignore list Reply with quote

@t3r0

ovo vodje sa index.php om sam samo napisao kao primjer . .. kao loši primjer . .. Very Happy to znam da ne mogu index u index . . . hmmm, još nisam probao to . . . baš ću probat da vidim kakve greške će mi napraviti Very Happy

ovo sa switchevima . . . eeeee da bi znao o čemu ti to pričaš ne bi bio ovdje . . . ako znaš neki link gdje ima opisano to includiranje ( a da nije neka spartanska stranica ), načini, detaljni opisi step by step . . .puno bi mi pomoglo

@retro_one

probat ću danas

thanks

_________________


Hmmm switch, misliš na


Code:

<?php
switch($cat){

   case "news_2005_march":
   chdir("news/2005");
   include ("news200503.php");
   break;

   case "about":
   chdir("about");
   include ("aboutme.php");
   break;

   default:
   include ("home.php");
   break;
   }
?>



Struktura stranice mi je ovakva

index.php
news/2005/200501.php
news/2005/200502.php
news/2005/200503.php
news/2005/200504.php
news/2004/200410.php
news/2004/200411.php
news/2004/200412.php
about/me.php
about/my_computer.php
about/this_site.php

itd, itd.

sad mi je linkić ovakvog oblika
Code:

<a href="index.php?cat=news_2005_march">march 2005</a>

sad bi trebali doći likovi
Code:

<a href="index.php?cat=news_2005_april">april 2005</a>
<a href="index.php?cat=news_2005_february">february 2005</a>
<a href="index.php?cat=news_2005_january">january 2005</a>

ali ako pogledam taj case . . . onda vidim da za svaki link trebam ovo napravit.
Code:

   case "news_2005_april":
   chdir("news/2005");
   include ("news200504.php");
   break;

   case "news_2005_february":
   chdir("news/2005");
   include ("news200502.php");
   break;

a kod ovoga se mogu isto izgubit


sada mi pojednostavljenje toga zanima . . .

da ako kliknem na link "april 2005" da mi on otvori tu stranicu odnosno ako je "february 2005" u pitnaju da mi otvori to . . .

imam stranicu http://intomusic.igorklajo.de sa playlistama nekih mixeva koje sam snimio, i to ima od 2001 do danas . .. ima hrpa toga pa da ne bi trebao napisati za svaku stranicu toliko stvari . . . automatizacija bi mi pomogla.

dosad sam koristim ovaj tip
Code:

<?php
if(!isset($id)) $id = "home";
include($id.".php");
?>

i onda u linku dodajem u koji fodler mora ići . . . i sve više i više posla imam oko toga.

_________________
"If this world makes you crazy, than everything is ok with you" - ~demony
Back to top
View user's profile Send private message Visit poster's website
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