Jump to content
XRS

Links dinâmicos + Multi Idioma

Recommended Posts

XRS

Boa tarde,

Aqui nas minhas brincadeiras de PHP estou a fazer um site com links dinâmicos e com o sistema de multi idioma.

No entanto estou com algumas dificuldades em embutir ambos funcionais, devido a erros de $_GET

Por exemplo, o código PHP para multi-idioma:

if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];

$_SESSION['lang'] = $lang;

setcookie('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'en';
}

switch ($lang) {
  case 'en':
  $lang_file = 'lang.en.php';
  break;

  case 'pt':
  $lang_file = 'lang.pt.php';
  break;

  default:
  $lang_file = 'lang.en.php';

}

include_once 'languages/'.$lang_file;
?>

E o código para links dinamicos:

$page = (isset($_GET['p']) === TRUE? strtolower($_GET['p']) : '');

switch($page){
case 'page1':
include("pages/page1.php");
break;

default:
include("pages/main.php");
break;
}

No entanto ao utilizar links tipo:

index.php?p=main〈=<?php echo $_GET['lang']; (para redirecionar para o link com o idioma correcto tenho erro devido ao $_GET estar vazio.

O mesmo se passa relativamente aos links de páginas.

Este erro acontece enquanto o $_GET estiver vazio... Apos escolher idioma e afins ele funciona na perfeição.

Podem-me ajudar pfv?

Share this post


Link to post
Share on other sites
brunoais

Bom... se tens aquele código todo "bonito" lá em cima... Porque não o usar em todas as páginas e depois usares o $lang em vez do array $_GET?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
XRS

O código está no header.php do site que é incluido em todas as páginas.. Se uso $lang continuo com o mesmo problema do "primeiro arranque" que não guarda a informação.

Share this post


Link to post
Share on other sites
brunoais

Porque é que não guarda?

Pelo que eu vejo aí, ele devia de guardar...


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
XRS

Isso é o que eu queria descobrir :s

Mas tá complicado que ando à volta disto e não chego a conclusão nenhuma. Estou a usar o WampServer. Será por estar em localhost?

Share this post


Link to post
Share on other sites
brunoais

Será por estar em localhost?

Não acredito que o seja. Então deve ser algo de errado com o teu código que eu n consigo descobrir.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
XRS

A verdade é que não alterei o código, criei conta no 000webhost, mudei a BD e isso e ao abrir o site, 0 erros e tudo a funcionar na perfeição.

Portanto parece-me que seja mesmo o localhost. Devo ter aqui alguma configuração perdida que não descubro qual.

Vou tentar com o xampp a ver se me dá o mesmo erro.

Share this post


Link to post
Share on other sites
brunoais

Mas ele estava a dar erros?

Se estava, quais eram?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
XRS

Era o erro simples que os dados que ia buscar ao $_GET['lang'] e ['p']; não estão definidos ( isto apenas no primeiro arranque do website.

Mas online isto já não acontece, já está tudo correcto :o

Share this post


Link to post
Share on other sites
brunoais

O site está a definir o PHP para suprimir os erros.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.