IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Smarty] Gestion site multilangue


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 27
    Points : 11
    Points
    11
    Par défaut [Smarty] Gestion site multilangue
    Bonjour

    Voila j'essaie d'utiliser smarty j'ai suivi plein de tuto, mais la je sèche

    Voila je voudrais que mon site utilise plusieurs langages et dans mon fichier tpl il ne veulent pas s'afficher.

    En faites le probleme est que je voulais utiliser mon fichier de langue dans les fichiers php et tpl.

    Dans mon php a cette partie $error_message = Bad_password; ça marche mais dans mon template {$Username} sa ne fonctionne pas. j'ai regardé dans plein de script qui utilise smarty mais je n'ai rien trouvé

    Si quelqu'un pouvait m'aider se serais sympa

    voici mon tpl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    {include file="header.tpl"}
     
     
        	<div id="corpshaut"></div>
            	<div id="corps">
        		<p>
    			{if $error == '1'}<center><span style="color:red;">{$error_message}</span></center>{/if}
    <form method="post" action="{$url->url_base}/login.php">
    	<div align="center">
    	<table border="0" cellpadding=5>
    		<tr><td><label for="username"><b>{$Username} :</b></label></td><td align=left><input type="text" size=40 name="username" id="username" /></td></tr>
    		<tr><td><label for="password"><b>{$Password}:</b></label></td><td align=left><input type="password" size=40 name="password" id="password" /></td></tr>
    		<tr><td colspan="2" align="center"><input name="login" value="" type="submit" /><BR><BR><i></i></td></tr>
    	</table>
    	</div>
     
    </form>
    <p align="center"><a href="{$url->url_base}/login.php"></a> | <a href="account-recover.php"></a></p> 
    </p>   
              <div style="clear: both"></div>
     
        		</div> 
        	<div id="corpsbas"></div>
    Mon fichier php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <?php
     
     
     
    /** include header **/
    include("header.php");
    loadLanguage('lang-login');
    /** set page name **/
    $page = 'login';
     
    /** reset error vars **/
    $error = 0;
    $error_message = '';
     
    /** do login **/
    if(isset($_POST['login']))
    {
       /** get username and password **/
       $username = mysql_real_escape_string($_POST['username']);
       $password = mysql_real_escape_string($_POST['password']);
     
       /** check if all required fields are filled **/
       if(empty($username) || empty($password))
       {
          $error = 1;
    	  $error_message = Require_field;//info langage dans le fichier de langue
       }else
     
     
       /** check login details **/
       $query = mysql_query("SELECT id, password, secret, status, enabled  FROM users WHERE username = '".$username."' AND password = '".sha1($password)."' LIMIT 1");
       if(mysql_num_rows($query) == 0)
       {
          $error = 1;
    	  $error_message = Bad_password;//info langage dans le fichier de langue
       }else
     
       /** no error? **/
       if($error == 0)
       {
          /** get users info **/
    	  $query = "SELECT users FROM members WHERE username = '".$username."' AND password = '".sha1($password)."' LIMIT 1";
    	  $row = mysql_fetch_array(mysql_query($query));
     
          /** set sessions **/
    	  $_SESSION['username'] = $row['username'];
    	  $_SESSION['userid'] = $row['id'];
    	  $_SESSION['logged_in'] = true;
    	  //if($row['is_admin'] == '1'){ $_SESSION['is_admin'] = true; }
     
    	  /** redirect **/
    	  redirect($url->url_base . '/index.php');
     
    	  /** exit **/
    	  exit;
       }
    }
     
    /** include footer **/
    include("footer.php");
     
    ?>
    et mon fichier de langue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    define('Username', 'Pseudo');
    define('Password', 'Mot de passe');
    define('Connect', 'Connexion');
    define('Cockies', 'Vous devez accepter les coockies');
    define('Connects', 'Connexion au site');
    define('Register', 'S\'enregistrer');
    define('Recover', 'Mot de passe perdu');
    define('Sorry_user', 'Désolé cette page est réservée aux membres');
    define('Bad_user', 'Nom d\'utilisateur incorrecte');
    define('Account_pending', 'Votre compte est actuellement en cours veuillez consulter votre courrier électronique');
    define('Bad_password', 'Mot de passe incorrecte');
    define('Account_disable', 'Ce compte a été désactivé par un administrateur.');
    define('Require_field', 'Vous ne devez laisser aucun champ vide');
    ?>

  2. #2
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour

    Tu as juste manqué de lire l'essentiel de smarty pour afficher une variable php dans le template

    Il faudrait juste que dans ton fichier php tu assignes les variables au template, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $smarty->assign("Username", Username);
    $smarty->assign("error_message", $error_message);
    ...
    A moins que ça se trouve dans ton footer.php, on ne voit pas non plus de display de ton template
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup de ta réponse. Mais je vais me retourner sur le moteur de phpbb2, et ensuite on verra. De toute façon je fais des essai pour apprendre le fonctionnement

Discussions similaires

  1. Gestion d'un site multilangue
    Par Aloneghost dans le forum Langage
    Réponses: 4
    Dernier message: 13/10/2010, 11h39
  2. Réponses: 6
    Dernier message: 27/06/2007, 12h21
  3. [C# 2.0] Comment gérer un site multilangues ?
    Par Khrysby dans le forum ASP.NET
    Réponses: 23
    Dernier message: 12/09/2006, 10h42
  4. Réponses: 9
    Dernier message: 01/06/2006, 22h23
  5. [Cookies] site multilangue
    Par manaboko dans le forum Langage
    Réponses: 11
    Dernier message: 22/11/2005, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo