Jump to content

Cookies and sessions problems


pedro84

Recommended Posts

Hello!

I make my site multilingual this way:

index.php:
[code]
<?php
session_start();
require_once("langman.php");
if(!SelectLanguage($_SESSION["lang"]))
die("Error selecting language!");
?>

[/code]

langman.php
[code]
<?php
$language = array();

function SelectLanguage($strLang)
{
global $language;

$inc = "en";
switch(stripslashes($strLang))
{
case "de":
$inc = "de";
break;

case "en":
$inc = "en";
break;

case "pl":
$inc = "pl";
break;

default:
$inc = "en";
}


include_once("languages/" . $inc . ".inc");
if(isset($lang))
{
$language = $lang;
return true;
}

return false;
}



?>
[/code]

setlang.php [to choose languages]
[code]
<?php
session_start();
$strLang = $_GET["lang"];
$_SESSION["lang"] = stripslashes($strLang);
header("Location: index.php"); //** redirect to where u want...
?>
[/code]

Questions are:):
1. Do You think is this effective way to making site mulitlingual
2. How to do damn cookies?

Greetings,
Pedro
Link to comment
https://forums.phpfreaks.com/topic/28720-cookies-and-sessions-problems/
Share on other sites


Try this code:

index.php
[code]
<?php

/*
* Modules
*/
include("language.php");

$language = new language();
unset($language);

?>
[/code]

language.php
[code]
<?php
class language
{
  function language()
  {
    if( isset($_GET['lang']) )
    {
      $lang = $_GET['lang'];
      $lang = $this->set_language($lang);
    }
    elseif( isset($_COOKIE['lang']) )
    {
      $lang = $_COOKIE['lang'];
    }
    else
    {
      $lang = $this->set_language();
    }
    $this->load_language($lang);
  }
 
  function set_language($lang = "en")
  {
  switch($lang)
  {
  case "de": $lang = "de"; break;
  case "en": $lang = "en"; break;
  case "pl": $lang = "pl"; break;
  default: $lang = "en";
  }

    setcookie("lang", $lang , 0);

    return $lang;
  }

  function load_language($lang = "en")
  {
    //include_once("languages/" . $lang . ".inc");
    echo "include: ".$lang;
  }
}
?>
[/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

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.