Linkovanje PHP strana.

1

Linkovanje PHP strana.

offline
  • Pridružio: 25 Feb 2009
  • Poruke: 11

Pozdrav svima.
Napravio sam pocetnu stranu sajta (index.php) i uradio je dizajnerski (flash, slike, css...) i zanima me kako da napravim da kad izabere korisnik srpski jezik link bude na primer :

 www.mojastrana.com\index.php?lang=srb

Znam da se ovo radi preko GET metode i funkcije switch, ali kako da spojim strane koje sam napravio u engleskom i srpskom jeziku sa glavnom stranom (index.php) na taj nacin?
Umem to da uradim u cistom HTML-u, ali nije mi to cilj Smile
Unapred hvala.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 20 Dec 2004
  • Poruke: 2887
  • Gde živiš: Na Balkanu

Ima više načina da se to napravi.

Možeš napravit stranice index_eng.php i index_srb.php,
a onda na index.php staviti (samo taj kod)

<?php if ($_GET['lang'] == 'srb') include ('index_srb.php'); else include ('index_eng.php'); ?>

Ako koristiš onaj link koji si dao prikazaće se stranica na srpskom, u suprotnom će se prikazivati stranica na engleskom.



offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Po meni najbolje rjesenje je da u sesiji cuvas zeljeni jezik za korisnika. Tako neces morati taj parametar svaki put da prosledjujes kroz GET

offline
  • Pridružio: 23 Sep 2008
  • Poruke: 52
  • Gde živiš: Sabac

Pa najbolje odradi to ovako...

1. Napravi folder "lang" i u njemu npr. 2 php fajla sr.php i en.php.
2. Na index stranu gde zelis da koristis promenu jezika stavi sledeci kod. P.S Moras ga staviti na sam pocetak strane zbog session_start();-a.
<? // Promena jezika session_start();    if($_GET[lang] != "") {       $_SESSION['lang'] = $_GET[lang];       require("lang/".$_SESSION['lang'].".php");    } else {       if(isset($_SESSION['lang'])) {          require("lang/".$_SESSION['lang'].".php");       } else {          $_SESSION['lang'] = "srb";          require("lang/srb.php");       }    } ?>

A onda u srb.php stavis nesto ovako:
<? $dobrodoslica = "Dobro dosli"; ?>

u eng.php stavis:
<? $dobrodoslica = "Welcome"; ?>
E sad si sve spakovao. Sad gde god zelis na stranici na kojoj si stavio ovaj gore kod , u <body> tagovima stavis
<?= $dobrodoslica ?>

Sad ako ti je lang=srb on ce napisati tu Dobro dosli ako je lang=eng on ce napisati Welcome...
Ovo ti je tek pocetak, mozes sad ovu pricu nadogradjivati u beskraj... Zavisi i kakav ti je sajt cist php ili ga kombinujes sa htmlom...

offline
  • Pridružio: 25 Feb 2009
  • Poruke: 11

Hvala ljudi na odgovorima.
Ovaj kod sa sesijama sluzi da zapamti sta je korisnik izabrao tj. u mom slucaju da zapise da li je izabran srpski ili engleski jezik, zar ne?
Mislio sam da uradim preko switch funkcije da case 1 bude srpski, case 2 engleski i npr. case 3 spanski.
E sad, u slucaju izbora jezika na glavnoj strani (index.php), napravio sam zastavice (slike) koje mi sluze kao linkovi za jezik.
Umem da napravim stranu index_eng.php i spojim je samo preko ahref-a, ali to mi nije poenta.
Da ne bih gusio Smile, pogledajte linkove na ovoj strani i to je ono sto mi treba.



a2agency.com/



Hvala jos jednom i pozdrav.

offline
  • Blood  Male
  • Ugledni građanin
  • Pridružio: 26 Jul 2003
  • Poruke: 384
  • Gde živiš: Beograd

FilipKrstic ::Pa najbolje odradi to ovako...
<? // Promena jezika session_start();    if($_GET[lang] != "") {       $_SESSION['lang'] = $_GET[lang];       require("lang/".$_SESSION['lang'].".php");    } else {       if(isset($_SESSION['lang'])) {          require("lang/".$_SESSION['lang'].".php");       } else {          $_SESSION['lang'] = "srb";          require("lang/srb.php");       }    } ?>


Nije bas najbolje ovako, ovo ti je klasican sigurnosni propust. U sustini ideja je na mestu, samo se pozabavi malo sigurnoscu. Jednostavnije a sigurnije:

$expected   = array('sr','en','de'); $lng        = (in_array($_COOKIE['lang'], $expected)) ? $_COOKIE['lang'] : $expected[0]; // cookie, session, sta god ti je lakse ... include("lang/".$lng.".php");

offline
  • Pridružio: 23 Sep 2008
  • Poruke: 52
  • Gde živiš: Sabac

Da moze i ovako kao sto je Blood rekao... Bolja ideja...

offline
  • Pridružio: 25 Feb 2009
  • Poruke: 11

Hvala jos jednom ljudi.
Evo kad napisem Blood - ov kod, otvori mi pola glavne strane (index.php), a u sredini bude strana na srpskom (sr.php) Smile
Meni samo treba linkovanje 2 strane u php, ali ne onako klasicno preko a href - a vec :

mojastrana.php?id=1

ili nesto slicno, znaci sa linkom koji ima ? u sebi.
Bas kao sto sam stavio sajt one agencije i linkovanje kako je uradjeno na njemu, tako isto i meni treba?
Zasto mora preko sesije i cookija?
Ne treba sajt da pamti koji korisnik je izabrao jezik, vec uvek da otvara glavnu stranu sa izborom jezika, samo je poenta svega da napravim drugacije linkovanje tj. bas kao na sajtu

a2agency.com/

Da li moze da se uradi preko case - a?
Jos jednom hvala svima i veliki pozdrav.

offline
  • Pridružio: 23 Sep 2008
  • Poruke: 52
  • Gde živiš: Sabac

Pa mozes da napravis case-ove npr case indexen: , kontakten etc... A da ti case default: bude index na srpskom... Ali, ako pravis veliki sajt zamisli koliko ce ti tezak biti index? duplo nego sto bi trebao, jer onda kad napravis npr. na srpskom moras isto to prekopirati i na case-ove za englesku verziju, sto znaci duplo tezi index...

Onako kako sam ti ja iskucao... Mozes prevesti bilo sta, bilo gde... Na strani koja pocinje onim kodom. A default jezik je srpski... Gore u kodu mozes promeniti da ti default jezik bude bilo koji...

Kako god.. Ako radis sa casovima moras i meni sajta napakovati u phpu, npr. sa nekom if funkcijom... Jer moras u link dodavati promenljivu (lang=sr,en )kako bi korisnik mogao da surfuje sa jezikom na koji se prebacio... Sem ako i meni sajta ne stavis u casove... Sto je po meni apsurdno...


A ovaj sajt: a2agency.com/ nema nigde srpsku verziju koliko ja vidim... ima switch page i par case-ova sve na eng... Ne znam kakvu si paralelu nasao sa jezicima i tom stranicom a2agency...

offline
  • Pridružio: 25 Feb 2009
  • Poruke: 11

Hteo sam da mi default u case - ovima bude pocetna strana (index.php) na kojoj se bira jezik, a kad klikne posetilac na srpski da se otvori strana ciji je link nesto :

mojsajt.com/index.php?lang=srb

Napravio sam strane i na srpskom i engleskom, znam da ih povezem preko HTML-a, ali hocu da uradim na nacin preko PHP-a.
E sad, da li moze da uradi tako da se samo srednji deo sajta menja kad se klikne na odredjeni link, a ostatak (gornji meni, levi meni, animacije, slike...) se ne menja?
Da se naprave posebni fajlovi (srb.php, eng.php, de.php) koji bi se pozivali kad korisnik klikne na odredjeni jezik.
Ceo meni ce biti u flash-u, pa cu iz njega drugacije linkovati strane, nego me samo zanima za taj izbor jezika na pocetku.
Paralela sa tim sajtom (http://www.a2agency.com/) je u vezi linkova, znaci meni treba samo tako da napravim linkove kao sto su na toj strani, nista vise, a za posle cu sam da se snadjem.
Hvala i veliki pozdrav.

Ko je trenutno na forumu
 

Ukupno su 1133 korisnika na forumu :: 56 registrovanih, 11 sakrivenih i 1066 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Andrija357, babaroga, Bane san, Ben Roj, Bojan85, bojanM84, bojcistv, ccoogg123, chichabg, dane007, darkojbn, Denaya, djboj, Dorcolac, draganca, Duh sa sekirom, Džordžino, Frunze, Karla, kokodakalo, Krusarac, Kubovac, Lubica, mean_machine, mercedesamg, Mercury, MiG-29M2, milimoj, minmatar34957, moldway, nemkea71, oldtimer, operniki, opt1, Panter, panzerwaffe, Petarvu, pirke96, prle122, procesor, rasok, royst33, ruso, S2M, Shinobi, slonic_tonic, Smiljke, srbijaiznadsvega, Srle993, styg, t84dar, vathra, vlajkox, wulfy, xpforswodniw