Php changer une valeur grâce à un lien

Résolu/Fermé
Sara426 Messages postés 678 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 - 10 avril 2012 à 16:22
Sara426 Messages postés 678 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 - 11 avril 2012 à 14:59
Bonjour,

Je suis en train de faire un site internet.
Mon problème n'est qu'un détail de présentation mais il est possible qu'il me serve plus tard.
J'aimerais changer la valeur d'une variable dès que je clique sur un lien.

Je m'explique :
Quand je suis sur une page de mon site, j'ai 3 sous-parties. Elles sont numérotées par 1, 2 ou 3 grâce à une variable $partie.
Si partie==1 alors il affiche le texte de la première partie (idem pour les autres)
Ma page tourne sur elle-même, seule ma variable change de valeur, ce qui me permet d'afficher les sous-parties.

En forçant la valeur en passant par le code, ça fonctionne parfaitement, donc au niveau syntaxique mon code est correct.

Ce que je ne sais pas c'est comment changer cette valeur quand je clique sur le lien pour aller à une autre sous-partie.

J'espère avoir été claire.

Cordialement,
Sara.

A voir également:

2 réponses

Sara426 Messages postés 678 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 63
10 avril 2012 à 16:24
Voilà un aperçu de mon code si ça peut vous aider :
<a href="#"> <?php if ($partie==1) echo "* Partie 1 *"; else echo "Partie 2"; ?></a>

<a href="#"> <?php if ($partie==2) echo "* Partie 2 *"; else echo "Partie 2"; ?></a>

<a href="#"> <?php if ($partie==3) echo "* Partie 3 *"; else echo "Partie 3"; ?> </a>

Les * servent à savoir sur quelle page on se trouve.
1
Bonsoir,
Le PHP est éxécuté côté serveur, ce qui suppose un aller/retour des données entre le client et le serveur. Tes liens sont donc inutiles en l'état, le signe # signifiant en HTML, "rester sur la même page" donc pas d'échange de données avec le serveur. Si tu veux obtenir le résultat recherché, tu peux utiliser du javascript, par exemple écrire une fonction qui lors du clic sur le lien, rend apparent la partie à afficher et cache les autres parties, soit en CSS...
Maintenant, si les parties à afficher ne sont pas incluses en "dur" dans le fichier source de la page HTML, il faudra obligatoirement en passer par PHP et modifier tes liens par la méthode GET :
<a href="page.php?partie=1"> * Partie 1 * </a>
<a href="page.php?partie=2"> * Partie 2 * </a>
<a href="page.php?partie=3"> * Partie 3 * </a>
<?php
if(isset($_GET['partie'])) {
	 if ($_GET['partie'] == 1) {
		// Partie 1 à afficher
	} elseif ($_GET['partie'] == 2) {
		// Partie 2 à afficher
	} elseif ($_GET['partie'] == 3) {
		// Partie 3 à afficher
	} else {
		// Partie à afficher par défaut lorsqu'on n'a pas cliqué de lien
	}
}
?>
1
Sara426 Messages postés 678 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 63
11 avril 2012 à 14:59
Parfait !
Je savais pas qu'on pouvait changer la valeur directement en utilisant l'url.

Merci beaucoup, ça m'a vraiment aidé.
0