Déconnexion de session
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
geoffreyvp -
geoffreyvp -
Bonjour,
J'utilise ce code pour rendre mon site multi-langue :
Page Langues.php
Mes feuilles appellent la page ainsi :
Et mon fichier langue est bien généré. Jusque là, aucun problème, les caractères s'affichent et les textes sont justes... Mais lorsqu'il s'agit de changer la langue en anglais ou en arabe, là je rencontre un problème, je me déconnecte de ma session et lorsque je me reconnecte, rien ne se passe. L'on croirais que le mode standard (français) se maintient et refuse de passe la main aux autres...
<a href="http://www.monsite/index.php?lang=fr">Français</a>
<a href="http://www.monsite/index.php?lang=en">English</a>
<a href="http://www.monsite/index.php?lang=ar">???????</a>
Comment je peux corriger ce problème svp ?
Qu'avez-vous besoin comme éléments que j'ai omis de mentionner ?
Merci d'avance pour votre aide.
Source du script multi-langue : http://www.phpdebutant.org/article107.php
J'utilise ce code pour rendre mon site multi-langue :
Page Langues.php
<?php if(isset($HTTP_COOKIE_VARS['lang'])) {$lang = $HTTP_COOKIE_VARS['lang'];} else {$lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2); } if ($lang=='fr') {include('langues/fr-lang.php');} elseif ($lang=='en') {include('langues/en-lang.php');} elseif ($lang=='ar') {include('langues/ar-lang.php');} $expire = 365*24*3600; setcookie("lang", $lang, time() + $expire); ?>
Mes feuilles appellent la page ainsi :
<?php require("langues.php"); ?>
Et mon fichier langue est bien généré. Jusque là, aucun problème, les caractères s'affichent et les textes sont justes... Mais lorsqu'il s'agit de changer la langue en anglais ou en arabe, là je rencontre un problème, je me déconnecte de ma session et lorsque je me reconnecte, rien ne se passe. L'on croirais que le mode standard (français) se maintient et refuse de passe la main aux autres...
<a href="http://www.monsite/index.php?lang=fr">Français</a>
<a href="http://www.monsite/index.php?lang=en">English</a>
<a href="http://www.monsite/index.php?lang=ar">???????</a>
Comment je peux corriger ce problème svp ?
Qu'avez-vous besoin comme éléments que j'ai omis de mentionner ?
Merci d'avance pour votre aide.
Source du script multi-langue : http://www.phpdebutant.org/article107.php
A voir également:
- Déconnexion de session
- Déconnexion intempestive wifi - Guide
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Teamviewer code de session expiré ✓ - Forum logiciel systeme
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- TeamViewer, quel risque de donner son le code - Forum Logiciels
28 réponses
est ce que t'es sur que ta session expire ?? car ta valeur d'expiration ce rapproche un peu d'une année complete la :p
Si elle expire, je ne sais pas, mais l'on me demande de me reconnecter et ce quelque soit le navigateur utilisé.
D'habitude, si je ferme la page et que je re-ouvre, je reste toujours connecté à ma session, mais là une fois que je change la langue, paf, il se déconnecte carrément !
D'habitude, si je ferme la page et que je re-ouvre, je reste toujours connecté à ma session, mais là une fois que je change la langue, paf, il se déconnecte carrément !
pourquoi ne pas recuperer avec un $_GET par exemple ?
je trouve ca plus simple que tes premieres lignes.
ps : j'essaie de t'aider mais vu que je suis un codeur "moyen" je suis pas tres fort non plus ^^
je trouve ca plus simple que tes premieres lignes.
ps : j'essaie de t'aider mais vu que je suis un codeur "moyen" je suis pas tres fort non plus ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Hihi, vu que tu me guide sur le $_GET cela dit que tu es mieux avancé que celui qui à commencé il y a moins de 15 jours :D
si je readapte , ca donne ca. (j'aime bien l'espace comme tu le comprendra :p)
$lang = $_GET['lang'];
if ($lang=='fr')
{
include('langues/fr-lang.php');
}
elseif ($lang=='en')
{
include('langues/en-lang.php');
}
elseif ($lang=='ar')
{
include('langues/ar-lang.php');
}
regarde si ca marche et on verra bien
$lang = $_GET['lang'];
if ($lang=='fr')
{
include('langues/fr-lang.php');
}
elseif ($lang=='en')
{
include('langues/en-lang.php');
}
elseif ($lang=='ar')
{
include('langues/ar-lang.php');
}
regarde si ca marche et on verra bien
Non, il fonctionne pas !
Il supprime même la langue par défaut (fr) et m'affiche maintenant mes define :
TXT_HEAD_ADMIN
Il supprime même la langue par défaut (fr) et m'affiche maintenant mes define :
TXT_HEAD_ADMIN
oui oui, c'est pas long :
Si tu as besoin aussi de ma page verif et ma page config et ma page fonction je te les donnes... pttr qu'il y a quelque chose laba qui t'intéresseront ?
<?php if(isset($HTTP_COOKIE_VARS['lang'])) {$lang = $HTTP_COOKIE_VARS['lang'];} else {$lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2); } if ($lang=='fr') {include('langues/fr-lang.php');} elseif ($lang=='en') {include('langues/en-lang.php');} elseif ($lang=='ar') {include('langues/ar-lang.php');} $expire = 365*24*3600; setcookie("lang", $lang, time() + $expire); ?>
Si tu as besoin aussi de ma page verif et ma page config et ma page fonction je te les donnes... pttr qu'il y a quelque chose laba qui t'intéresseront ?
je comprend pas tres bien. A quoi te sert ta page verif et config ??
avec une seule page , tu peux normalement faire ta page qui se transforme sans probleme. t'aura juste ?lang=en ou un autre qui se rajoute a tes pages si tu veux changer de langue.
avec une seule page , tu peux normalement faire ta page qui se transforme sans probleme. t'aura juste ?lang=en ou un autre qui se rajoute a tes pages si tu veux changer de langue.
A part mes connection à ma base de données, voici ce que contient mon fichier config et verif
ini_set('session.use_trans_sid', 0); ini_set('session.use_only_cookies', 0); ini_set("url_rewriter.tags", ""); session_start(); /* Vérifications */ if (empty($_SESSION["idara"]["admin"])) { header("location: ".DOSSIER_ADMIN."logout.php"); exit(); } $s_idadmin = $_SESSION["idara"]["admin"]["idadmin"]; $s_login = $_SESSION["idara"]["admin"]["login"]; $s_password = $_SESSION["idara"]["admin"]["password"]; $r = mysql_query("select * from Adm_Connection where login='".addslashes($s_login)."' and password='".addslashes($s_password)."' ;"); if (mysql_num_rows($r)==0) { header("location: ".DOSSIER_ADMIN."logout.php"); exit(); }
ton fichier verif ici est un acces a un dossier admin auquelle tu a uniquement acces. il n'entre pas en compte normalement avec ta page de langue.
tout comme ton fichier config d'ailleurs.
tout comme ton fichier config d'ailleurs.
Ah, donc ce qu'il fait est tout à fait normal, c'est pas un beug de code dans ce cas !
Mais alors... comment régler le problème ? :s J'ai déjà défini toutes les phrases du site et bossé dessus comme un fou !
Mais alors... comment régler le problème ? :s J'ai déjà défini toutes les phrases du site et bossé dessus comme un fou !
tes phrases deja preparées sont sous quelle forme ? TXT_HEAD_ADMIN ou bien des variables du genre $hi ou $autre (avec le $ surtout :p) ??
Comme ça :/
// Index.php define('TXT_TIT_TABBORD', 'Tableau de bord'); define('TXT_TIT_SERV', 'Serveur'); define('TXT_DAT_JOUR', 'Nous sommes le :'); define('TXT_HEU_SERV', 'Heure du serveur :'); define('TXT_RAC_SERV', 'Racine du serveur :'); define('TXT_NOM_DOMA', 'Nom de domaine du serveur :'); define('TXT_ADD_IPSE', 'Adresse IP du serveur :'); define('TXT_ADD_IPAC', 'Votre adresse IP actuelle :'); define('TXT_POR_HTTP', 'Port associé au protocole HTTP sur le serveur :'); define('TXT_LAN_SERV', 'Langue utilisée par le serveur :'); define('TXT_ENC_SERV', 'Types d'encodage que le serveur peut réaliser :'); define('TXT_VER_SCGI', 'Version des spécifications CGI :'); define('TXT_VER_APAC', 'Version Apache :'); define('TXT_VER_PHP', 'Version PHP :'); define('TXT_VER_MSQL', 'Version MySQL :'); define('TXT_VER_PROT', 'Version du protocole :');
imaginons qu'on crée un fichier FR.php pour le francais et un fichier EN.php pour l'anglais.
Le FR est la langue par defaut.
dans les 2 fichiers de langues , on crée la variable $hi = "hi"; ou $hi = "salut"; pour le FR
on va commencer par verifier si un changement de langue veut etre fait en verifiant si le $_GET n'est pas vide
<?php
$lang = $_GET['lang'];
if(empty($lang))
{
include('langues/FR.php');
}
elseif($lang='en')
{
include('langues/EN.php');
}
echo $hi;
?>
normalement la personne francaise arrivera sur un lien avec une fin index.php
tandis que l'anglais (qui aura decider sur la page FR en cliquant sur un petit drapeau anglais) verra un lien avec une fin index.php?lang=en
Le FR est la langue par defaut.
dans les 2 fichiers de langues , on crée la variable $hi = "hi"; ou $hi = "salut"; pour le FR
on va commencer par verifier si un changement de langue veut etre fait en verifiant si le $_GET n'est pas vide
<?php
$lang = $_GET['lang'];
if(empty($lang))
{
include('langues/FR.php');
}
elseif($lang='en')
{
include('langues/EN.php');
}
echo $hi;
?>
normalement la personne francaise arrivera sur un lien avec une fin index.php
tandis que l'anglais (qui aura decider sur la page FR en cliquant sur un petit drapeau anglais) verra un lien avec une fin index.php?lang=en
C'est vraiment pas compliqué comme truc, c'est le plus simple que j'ai connu même de toutes sortes de scripts !
Source du script multi-langue : http://www.phpdebutant.org/article107.php
Je les appel comme ça simplement :
Source du script multi-langue : http://www.phpdebutant.org/article107.php
Je les appel comme ça simplement :
<?php echo TXT_DUJOUR; ?>
on va quand meme essayer de trouver sans trop remanier le code , car si ta deja bossé sur les phrases ,ca serait dommage que ca soit pour rien.
donc essaie ce code ci
$lang = $_GET['lang']
if(empty($lang))
{
include('langues/fr-lang.php');
}
elseif($lang='en')
{
include('langues/en-lang.php');
}
elseif($lang='ar')
{
include('langues/ar-lang.php');
}
?>
donc essaie ce code ci
$lang = $_GET['lang']
if(empty($lang))
{
include('langues/fr-lang.php');
}
elseif($lang='en')
{
include('langues/en-lang.php');
}
elseif($lang='ar')
{
include('langues/ar-lang.php');
}
?>