Mangeur de cigogne Hébergement du site en PHP et Mysql par WDMédia-hébergement
Vous aussi adpotez les éléPHPants de Vincent Pontier !


Rechercher dans le forum

Mots-clés :

Trouver :
un de ces termes tous les termes

Depuis :
7 j 15 j 30 j


Retour à l'index du forum

Onclick : générer 2 variables

Message original de linfo

Le : 29/04/2008 à 23:16:41

Dejà lu 1799 fois avant vous

Bonjour,
je débute en php (et autre d'ailleurs).
A partir d'un clic sur un lien, je voudrai générer une variable et sa valeur (page index) et la récupérer dans la page (accueil).
J'ai 2 liens (pour l'instant) qui me dirigent vers une autre page (accueil).
Dans cette autre page, en fonction des variables récupérées, une boucle choisit le contenu à afficher.
Exemple :
page index :
lien1 : <a href="accueil.php">France
comment générer : <?php $lang="fr" ?>
lien2 : <a href="accueil.php">Angleterre
comment générer : <?php $lang="en" ?>

page accueil :
<?php
if ($lang == "fr") {
include("france.inc");
}
if ($lang == "en") {
include("english.inc");
}
?>
Merci
Ronald

Re: Onclick : générer 2 variables

Réponse de XwZ

Le : 29/04/2008 à 23:24:39

Salut,
pour la langue tu peux regarder du côté de $_GET, exemple : accueil.php?lang=fr et tu le récupère avec $_GET['lang'].

Re: Onclick : générer 2 variables

Réponse de linfo

Le : 30/04/2008 à 00:28:29

OK.
Je peux déclarer un tableau du genre :
<?php
$lang = array('fr','en');
?>
qui me permettra d'ajouter d"autres langues facilement + tard.

Mais ce que je ne sais pas faire, c'est : quand on clique sur France ou Angleterre, quelle est la syntaxe du $_GET ?
Ou alors puis-je faire ceci :
lien1 : <a href="accueil.php" <?php onclick="$lang=1;" <?>France</a>
lien1 : <a href="accueil.php" <?php onclick="$lang=2;" <?>Angleterre</a>

Mais je n'arrive pas à trouver la bonne syntaxe.
(peut-être même pas besoin du tableau et utiliser fr ou en ?)

Merci.

Re: Onclick : générer 2 variables

Réponse de XwZ

Le : 30/04/2008 à 01:31:46

non, $_GET récupere les valeurs passé dans l'url, donc si tu veux gerer plusieur langues tu peux faire :
lien1 : <a href="accueil.php?lang=fr">France</a>
lien1 : <a href="accueil.php?lang=en">Angleterre</a>

Re: Onclick : générer 2 variables

Réponse de linfo

Le : 30/04/2008 à 02:12:57

Merci.
Mais dans la page suivante, ça y est presque...
La valeur de $lang ne passe pas dans le fichier inclus (france.inc ou english.inc).
J'ai même essayé de les nommer en .php
La valeur est récupérée (je l'ai affichée avec la ligne echo...).
Mais quand le fichier inclus arrive, la valeur est "perdue".
<?php
$_GET['lang'] ;
echo "$lang";
if ($lang = "fr") {
include("france.inc");
}
if ($lang = "en") {
include("english.inc");
}
?>

Re: Onclick : générer 2 variables

Réponse de linfo

Le : 30/04/2008 à 02:34:14

J'ai l'impression que c'est ma boucle qui ne va pas.
J'ai aussi essayé avec elseif.
On verra ça demain.
Bonne nuit.

Re: Onclick : générer 2 variables

Réponse de XwZ

Le : 30/04/2008 à 10:22:54

Salut,
Tout d'abord, la structure if(..){ .. }elseif(..){ .. }else{ .. }, n'est pas une boucle :).
Ensuite, il te faut le dire quelque part que $lang doit récupérer la valeur de $_GET['lang'] non ?
donc avant tes conditions, rajoute les lignes :

// On définie la langue par défaut.
$lang = "fr";

// On vérifie que la variable de lang existe bien dans l'url.
if(isset($_GET['lang'])){
  // Si oui, on dit a PHP d'initialiser $lang avec cette variable.
  $lang=$_GET['lang'];
}


Voila, et là, tu n'auras plus de problème normalement. Mais n'hésite pas a demander si tu veux plus d'info :).

[RESOLU] Re: Onclick : générer 2 variables

Réponse de Linfo

Le : 30/04/2008 à 13:18:44

C'est OK.
Merci beaucoup de ton aide précieuse.
J'ai encore du chemin à parcourir.
Cordialement.
Ronald

Si tu veux voir mon test :
http://marie-reine.com/test

Re: Onclick : générer 2 variables

Réponse de XwZ

Le : 30/04/2008 à 14:46:29

il te reste un probleme, si on enleve le "?lang=fr" il n'y a plus de contenue, il faut que tu mettes une langue par défaut ou que tu mettes un header("Location: index.php"); si isset($_GET['lang']) retourne false.

Re: Onclick : générer 2 variables

Réponse de linfo

Le : 30/04/2008 à 22:55:06

Alors là... je ne comprends pas.
Si j'enlève .php?lang=fr : où, quand et comment le choix de langue s'initialise ?
Mettre une langue par défaut où et quand ?
Le header réécrit l'entête http, mais je ne comprends pas à quoi ça sert dans mon cas.
Bref c'est la brasse coulée.

Je pense à une autre solution :
Quand je clique sur un drapeau, je pourrai appeler un fichier pour chaque langue dans lequel sera initialiser la variable lang avec la bonne valeur :
exemple : accueil_fr.php -- var lang = "fr" -- include("france.inc")
et ensuite toutes mes autres pages récupèrent lang="fr" pour être remplies par les valeurs de france.inc
Evidemment, si j'ai besoin de 36 langues, ça fera 36 fichiers accueil_xx...

Mais pour mon projet actuel, 3 langues suffisent.
Rappel

Code la page index :
<td align="center"><a href="accueil.php?lang=fr"><img src="d_france.gif"></a></td>
<td align="center"><a href="accueil.php?lang=en"><img src="d_english.gif"></a></td>

Code de la page accueil :
<?php
// On définit la langue par défaut.
// $lang = "fr";
// On vérifie que la variable de lang existe bien dans l'url.
if(isset($_GET['lang'])){
  
// Si oui, on dit a PHP d'initialiser $lang avec cette variable.
  
$lang=$_GET['lang'];

if (
$lang == "fr") {
include(
"france.inc");
}
elseif (
$lang == "en") {
include(
"english.inc");
}
?>


Si tu as un peu de temps pou m'expliquer, sinon pas grave.
Merci.


Re: Onclick : générer 2 variables

Réponse de XwZ

Le : 01/05/2008 à 14:26:44

Salut,
si tu fais comme ça, tu n'auras plus de probleme :

<?php
// On définit la langue par défaut.
$lang "fr";
// On vérifie que la variable de lang existe bien dans l'url.
if(isset($_GET['lang'])){
  
// Si oui, on dit a PHP d'initialiser $lang avec cette variable.
  
$lang=$_GET['lang'];

if (
$lang == "fr") {
include(
"france.inc");
}
elseif (
$lang == "en") {
include(
"english.inc");
}
?>



c'était juste un commentaire en trop ;). En fait, on initialise la variable $lang avant de faire le test sur la variable de l'url afin de dire que si elle n'existe pas cette variable, ben on garde le français.

Re: Onclick : générer 2 variables

Réponse de linfo

Le : 01/05/2008 à 15:06:16

Ca j'avais compris, mais comment on donne la valeur à lang dans la page index.php ?, cad quand on clique sur le drapeau ?

Re: Onclick : générer 2 variables

Réponse de XwZ

Le : 01/05/2008 à 16:58:19

J'ai pas compris ta question là ... désolé :/

Re: Onclick : générer 2 variables

Réponse de linfo

Le : 01/05/2008 à 23:46:41

Désolé aussi.
Dans la page index.php, où on clique sur les drapeaux, si j'enlève à la fin du lien ?lang=xx, comment initialiser la variable lang qui est récupérée dans la page suivante accueil.php ?

Re: Onclick : générer 2 variables

Réponse de XwZ

Le : 02/05/2008 à 01:22:12

salut,
il ne faut pas l'enlever... sinon y a aucun moyen de la récupérer, enfin y'en a mais pas vraiment adapter.

Re: Onclick : générer 2 variables

Réponse de linfo

Le : 02/05/2008 à 20:41:47

Ah bon.
Un de tes msg m'avait laissé perplexe :
" il te reste un probleme, si on enleve le "?lang=fr" il n'y a plus de contenue, il faut que tu mettes une langue par défaut ou que tu mettes un header("Location: index.php"); si isset($_GET['lang']) retourne false."
Tu voulais dire : si par hasard la valeur lang se perdait.

OK.
Merci pour ton aide, très patiente et sympa.

Au fait, mon idée pour modifier les fichiers de langue :
1ère étape :
Les récupérer dans Excel au format texte (une colonne pour les variables, une pour le signe = et la dernière pour le texte à modifier).
Les modifier dans Excel, donc sans grand danger de toucher par erreur aux variables.
2ème étape : mettre en place une base de données avec interface de saisie.

@ la prochaine.
Ronald.

Re: Onclick : générer 2 variables

Réponse de xdOKzwEYCROoEpMMifJ

Le : 11/07/2009 à 03:22:41

KxYdZZ <a href="http://yqvnpucwlcfw.com/">yqvnpucwlcfw</a>, [url=http://eucdsirchdtg.com/]eucdsirchdtg[/url], [link=http://njvfvuhhcewn.com/]njvfvuhhcewn[/link], http://qccxsyrxnvha.com/

Re: Onclick : générer 2 variables

Réponse de hDXJOoGY

Le : 13/03/2010 à 06:38:27

t9An6T <a href="http://ljdifgvyquso.com/">ljdifgvyquso</a>, [url=http://xkunbdocbtri.com/]xkunbdocbtri[/url], [link=http://qhnrqyrdiich.com/]qhnrqyrdiich[/link], http://yqveijikytkl.com/
Retour à l'index du forum


Ajouter une réponse

Nom :

Email :

Titre :

Message :

Combien font 3 + 4 ?

Mise en forme : gras = [b]...[/b], italic = [i]...[/i], souligné = [u]...[/u], citation = [quote]...[/quote], lien = [url]liens_externe[/url] ou [url nom=texte]liens_externe[/url], code source : [code]...[/code]

Recevoir les réponses par mail :
Oui Non

Mémoriser mon nom et mon email :
Oui Non

 

Charte des forums PHPDébutant

Bienvenue à vous,

Vous voici donc prêt à poster sur les forums de PHPDébutant. Avant toute chose, merci de prendre le temps de lire les quelques lignes qui suivent.

Attention, à partir du moment ou vous postez dans les forums, vous acceptez la présente charte. Si votre message est modéré ou supprimé, vous ne pourrez pas dire que vous n'étiez pas au courant des règles !

Pourquoi une charte

Le but de cette charte est simple : que ces forums restent cordiaux et que les personnes aidant les autres ne se sentent pas lésées, insultées, critiquées. Pour que ces forums fonctionnent, il faut des personnes qui répondent aux questions. Pour que celles ci restent sur le forum, il faut les traiter avec respect, et ne pas les confondre avec des bonnes poires, esclaves, etc...

Mesures de régulation

  • Un nouveau message ne disant pas bonjour, ou insultant, dont le titre est tout en majuscules, pourra être supprimé sans justification (raisons non limitatives).
  • Prenez le temps de vérifier que la question que vous allez poser n'a pas déjà été posée, à l'aide du formulaire de recherche.
  • Prenez également le temps de vérifier que la réponse à votre question ne se trouve pas dans les tutoriaux. Nous ne pouvons pas répeter pour chaque visiteur tous les cours, il sont écrits, profitez-en (dans l'ordre tant qu'à faire) !
  • Nous ne faisons pas de scripts tout prêts. Nous aidons et vous guidons pour que vous puissiez trouver vous même la réponse, ce qui est beaucoup plus formateur.
  • Si vous comptez poster un message publicitaire, abstenez-vous. Au mieux le message sera supprimé, au pire les habitués descendront votre service en flamme.
  • Pour tout message de recrutement, précisez bien votre demande. Inutile de poster pour trouver un développeur pour faire gratuitement votre site de webmastering qui vous rapportera plein de sous. Les seuls coups de mains donnés en développement sont pour des associations ou des sujets passionnant un développeur.
  • Toute personne tenant des propos racistes ou illicites sera bannie et pourra faire l'objet de poursuites.
  • L'humour étant très présent sur ces forums, ne réagissez pas violemment à des propos qui pourraient être à prendre au second degré et avec de l'humour.
  • Attention aux trolls ! Leur multiplication peut entraîner la mort des forums, et sans forum, plus d'aide !
  • Respectez les thèmes des forums. Pensez aussi à vérifier que votre message n'a pas été déplacé si vous le croyez effacé.

Conseils

  • N'oubliez pas que les personnes à qui vous vous adressez sont des bénévoles qui donnent de leur temps pour vous. Si vous êtes méchants avec eux, il n'aideront plus et vous n'aurez plus d'aide !
  • Ne soyez pas pressé. Nous avons une vie aussi, et nous ne sommes par forcément tout le temps disponibles.
  • N'oubliez pas que les smileys sont la pour faire comprendre l'humeur dans laquelle vous rédigez un message. Il est indispensable de mettre des smileys quand vous faites de l'humour, sinon le message pourrait être mal perçu (ca serait quand même idiot de plomber l'ambiance en faisant de l'humour !).
  • Surveillez votre orthographe, nous ne vous demandons pas d'être littéraire, mais que votre message soit au moins compréhensible. Evitez à tout prix le style SMS.
  • Expliquez clairement le problème, ce n'est pas toujours facile, mais mieux vaut essayer de le faire le plus possible.
  • Ne postez pas de questions trop vagues du genre "comment faire un forum". Cela ne sert à rien, cela ne s'explique pas sur un coin de forum.
  • Mettez un titre clair, correspondant au sujet que vous allez poster. A l'aide, au secours, etc... ne sont pas d'une grande utilité pour ceux qui vont vous aider. Parfois nous passons en coup de vent, et si nous ne savons pas ce que va contenir le message, nous ne le regarderons même pas.
  • Ne mettez par [URGENT] ou autre joyeuseté du genre dans vos titres de messages. Cela irrite les gens (il y'a plus urgent dans la vie, pensez aux gens qui meurent de faim ou ayant besoin des pompiers, ça c'est urgent), et vous n'aurez pas votre réponse plus vite pour autant.
  • Si vous connaissez déjà à quel domaine votre question d'adresse (par exemple mysql, html, php, javascript), n'hésitez pas à le marquer au début de votre message, avec un [html] par exemple (notez les minuscules).
  • Ne dites pas "ça marche pas". Il y a toujours des raisons. Je vous invite à consulter le tutorial "ça marche pas" qui vous aidera à mieux expliquer votre problème.
  • Ne postez pas 36000 lignes de code. Sur le forum, le code apparaît non coloré et sans indentation, ce qui est illisible. Au dessus de 5 lignes, plus personne ne lit et vous n'aurez pas de réponse. Utilisez le wall
  • En règle générale restez courtois et clair, n'oubliez pas que la politesse fait partie de la vie courante. Il est de bon ton de dire bonjour même pour une réponse, même plusieurs fois dans la journée (ceux qui vous lisent n'ont pas forcément lu vos autres messsages)

La Fin

Avec tout ces conseils vous augmenterez les chances de réponse, leur pertinence et leur rapidité

Voilà, ça sera tout, bonne écriture :)

Fermer les règles et poster un message


www.phpdebutant.org © 2010 - L'équipe de phpDebutant - Hébergement : WDMédia-hébergement