Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/12/2013, 15:10
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: php idioma: cómo ocultar/mostrar botón de idioma

common.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. header('Cache-control: private'); // IE 6 FIX
  4.  
  5.  
  6. if( ! isset($_SESSION['lang']) || empty($_SESSION['lang']) )
  7. {
  8.     if( ! isset($_COOKIE['lang']) || empty($_COOKIE['lang']) )
  9.     {
  10.         if( ! isset($_GET['lang']) || empty($_GET['lang']) || ! ctype_alpha($_GET['lang']) )
  11.         {
  12.             header('location:index.php?lang=es');
  13.                exit;
  14.         }
  15.         else
  16.         {
  17.             $language = $_GET['lang'];
  18.             $_SESSION['lang'] = $language;
  19.             setcookie("lang", $language, time() + (3600 * 24 * 30));
  20.         }
  21.     }
  22.     else
  23.     {
  24.         $language = $_COOKIE['lang'];
  25.     }
  26. }
  27. else
  28. {
  29.     $language = $_SESSION['lang'];
  30. }
  31.  
  32.  
  33.  
  34. switch(strtolower($language))
  35. {
  36.     case 'en':
  37.     $lang_file = 'lang.en.php';
  38.     break;
  39.  
  40.     case 'es':
  41.     $lang_file = 'lang.es.php';
  42.     break;
  43.  
  44.     default:
  45.     $lang_file = 'lang.es.php';
  46. }
  47.  
  48. include_once 'languages/'.$lang_file;

index.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. require 'common.php';
  4.  
  5. if(isset($language)){
  6.  
  7. if($language === 'es'){ ?>
  8.  
  9. <li class="language">
  10. <a href="index.php?lang=en"><span class="abrev">EN</span> <span class="sin-abrev"><?php echo $lang['MENU_EN_FULL']; ?></span></a>
  11. </li>
  12.  
  13. <?php }elseif($language === 'en'){ ?>
  14.  
  15. <li class="language">
  16. <a href="index.php?lang=es"><span class="abrev">ES</span> <span class="sin-abrev"><?php echo $lang['MENU_ES_FULL']; ?></span></a>
  17. </li>
  18.  
  19.  
  20. <?php }else{ ?>
  21.  
  22.  
  23. <p>idioma no disponible</p>
  24.  
  25.  
  26. <?php }}else{ ?>
  27.  
  28. <p>Se ha producido un error</p>
  29.  
  30. <?php } ?>

hecha un vistazo bien y observalo , pruebalo y di si te saltan fallos y de que tipo , y por cierto con las sessiones , cookies surge un problema si un usuario cambia de idioma no lo vas a detectar este problema ya te lo dejo que lo resuelvas por ti mismo.

Última edición por webankenovi; 12/12/2013 a las 15:18