session et liens

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : session et liens

Re: session et liens

par hashut » 10 mai 2011, 14:29

Trouver petite erreur dans le code
ce n'est pas
if ($_GET['lang']=='fr') { include('lang/fr-lang.php'); } 
Mais
if ($_GET['langue']=='fr') { include('lang/fr-lang.php'); } 
c'est tous galere 48H pour sa trop nul je suis
merci all pour votre aides

Re: session et liens

par moogli » 09 mai 2011, 22:03

comme l'indique mazarini il faut inverser le code de vérification et l'inclusion (l'affectation en session doit être faite avant les includes).

et la sélection du fichier a inclure ne doit se faire que sur le $_SESSION et pas sur le get.

en gros
- si _GET['lang'] existe, modification de $_SESSION['lang']
- inclusion du fichier voulu en fonction de $_SESSION['lang']

Si tu souhaite garder la langue choisis par le visiteur (par exemple dans un cookie) il faut prendre ce cas en compte dans la 1ère ligne (si $_SESSION['lang'] n'existe pas).


@+

Re: session et liens

par hashut » 09 mai 2011, 18:50

voici le code que j'utilise

Le drapeau

<a href="?langue=fr"><img src="./images/lang/France.png" title="Fran&ccedil;ais" border="0"></a>

decide-lang.php

if ($_GET['lang']=='fr') { include('lang/fr-lang.php'); } 
else if ($_SESSION['lang']=='fr') { include('lang/fr-lang.php'); } 
else {                       
include('lang/fr-lang.php');
}


index.php

<?
session_start();
require("decide-lang.php");
$langueChoisie = $_GET['langue'];
if($langueChoisie == 'fr' || $langueChoisie == 'en')
{
     $_SESSION['lang'] = $_GET['langue'];
}
?>
je comprend pas pk il faut cliquez deux fois sur le drapeau ou une fois sur le drapeau et un lien du menu
site test : http://www.observatoiremigrateurs.com/new/

quelqu'un as une idées pk
merci

Re: session et liens

par Mazarini » 09 mai 2011, 09:21

Bonjour,

Le fait qu'il faille faire 2 fois l'affectation de $_SESSION pour que la langue soit prise en compte me fait penser à un calcul de la langue avant ton traitement.

Re: session et liens

par moogli » 09 mai 2011, 01:06

Salut,

Sans le code complet je ne peux que supposer, mais je pense que le probleme est du au fait que tu fait le choix d'affichage avant la validation de la langue ce qui fait que obtient ce "délais" de prise en compte.

@+

Re: session et liens

par hashut » 08 mai 2011, 19:40

j ai teste aces IE8 firefox windows cela est pareil obliger de cliquez 2fois sur le drapeau pour que sa change de langue
même en cumulant GET et SESSION
j ai aucune idée pourquoi cela

Re: session et liens

par hashut » 08 mai 2011, 00:01

je suis sous safari mac os x

Re: session et liens

par Eony » 07 mai 2011, 23:52

yes cela fonctionne mais il faut que je clicker deux fois sur le drapeau
il doit me manque une ligne dans le code
Il faut cliquer deux fois sur le drapeau pour arriver à la page modifierLangue.php? Bizarre... A mon avis c'est un problème de ton navigateur, puisque j'ai utilisé un lien ordinaire :?

Re: session et liens

par hashut » 07 mai 2011, 23:20

yes cela fonctionne mais il faut que je clicker deux fois sur le drapeau
il doit me manque une ligne dans le code

Re: session et liens

par Eony » 07 mai 2011, 22:51

Tu veux sûrement faire un site web multi-linguistique, et pouvoir changer de langue avec des drapeaux cliquables. (C'est en tout cas ce que j'ai compris). Je te propose cette solution :

HTML :
<a href="modifierLangue.php?langue=fr"><img src="francais.jpg" /></a>
<a href="modifierLangue.php?langue=es"><img src="espagnol.jpg" /></a>
<a href="modifierLangue.php?langue=en"><img src="anglais.jpg" /></a>
modifierLangue.php :
<?php
session_start();

$langueChoisie = $_GET['langue'];

# Au cas où un malin utilise un autre choix
if($langueChoisie == 'fr' || $langueChoisie == 'en' || $langueChoisie == 'es')
{
     $_SESSION['lang'] = $_GET['langue'];
}

Re: session et liens

par moogli » 07 mai 2011, 20:15

salut,

tu n'a pas comprit le principe de session, c'est variable n'est remplie que par des infos stockées sur le serveur. Et pour les remplir faut bien par tir de quelque part, ton lien pointe vers une page web (html ou php) et cette page va générer la variable de session comme l'a indiqué xTG.

Après si tu parle de l'utilisation de cette variable de session dans un lien un simple echo suffit !


@+

Re: session et liens

par hashut » 07 mai 2011, 19:52

salut

je ne veut pas le faire en $_GET mais plutot en $_SESSION
merci

Re: session et liens

par xTG » 07 mai 2011, 18:12

<?php
if( isSet($_GET['lang']) )
  $_SESSION['lang'] = $_GET['lang'];
echo "<a href=\"{$_SERVER['PHP_SELF']}?lang=fr\">drapeau</a>";
?>

session et liens

par hashut » 07 mai 2011, 17:17

bonjour

est il possible de changer une variable de session via un lien href ?

car j'ai fait sa est sa ne fonctionne pas

<a href="<?php $_SESSION['lang']='fr' ?>">drapeau</a>

comment faire je veut le faire en session bien sur

merci