mettre une variable dans un lien

arno
Invité n'ayant pas de compte PHPfrance

18 mars 2005, 11:16

Salut,
Mon problème est le suivant: je souhaite faire des liens renvoyant sur la même page mais en changeant la valeur de la variable pour pouvoir afficher tel ou tel partie de la page. La valeur de la variable ne se change pas! comment faire ?????????

Merci

Eléphant du PHP | 200 Messages

18 mars 2005, 11:18

un petit bout de code SVP 8)
Univers divided by 0 - cucumber error - reboot

Eléphant du PHP | 161 Messages

18 mars 2005, 11:53

jsuis pas sur d'avoir compris ce que tu veux.
tu veux mettre une variable dans ton lien
<a href="maPage.php?maVariable=<?php echo $valeurVariable;?>">
et apres tu veux la récuperer dans maPage.php
le code de maPage.php :
 <?php $inThePocket = $_GET['maVariable']; ?>
et voila c dans la poche ;)

arno
Invité n'ayant pas de compte PHPfrance

18 mars 2005, 20:41

en fait je n'ai qu'une page php dans laquelle se trouve l'equivalent de plusieurs pages.

je m'explique dans ma page index.php se trouve trois liens qui renvoie sur index.php

lien1 lien2 lien3

Ce que j'aimerais faire c'est si je clique sur lien1 cela affiche une image A dans la page index.php
Si c'est lien2 un document texte.

En fait toute les donnée sont sur le même fichier mais apparaisse qu'en fonction du liens

Mammouth du PHP | 19672 Messages

18 mars 2005, 20:57

Salut
il faut donc que tu utilises des liens internes. mais rtu n'as pas obligatoirement besoin du PHP pour ça...
Ton lien interne sera du type http://www.monsite.com/mapage.php#lieninterne1
et quelque part, on trouvera dans la page un lien <a name="lieninterne1"></a>
En XHTML, tu peux remplacer l'attribut "name" par "id"
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1339 Messages

19 mars 2005, 05:57

Cherche a "ancre" en HTML
Bon sinon tu me fais un message privé et on se fait un TeamViewer

arno
Invité n'ayant pas de compte PHPfrance

21 mars 2005, 17:19

si je pose une ancre tout sera visible sur la page alors que moi je ne desire afficher que ce qui correspond à mon lien

arno
Invité n'ayant pas de compte PHPfrance

21 mars 2005, 17:42

voici un exemple de code

<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr><td><a href="index.php?$m="1"">lien 1</a></td><td><a href="index.php?$m="2"">lien 2</a></td><td><a href="index.php?$m="3"">lien 3</a></td></tr>
</table>
<?php
if ($m==1){echo "ca semble marcher???";}
if ($m==2){echo "ca se pourrait bien?";}
if ($m==3){echo "Ca marche!!!!!!!!!!!";}
?>

et voici le message d'erreur

Notice: Undefined variable: m in c:\program files\easyphp1-7\www\test\index.php on line 19/* ce qui correspond à $m==1*/

Avatar du membre
ViPHP
ViPHP | 3008 Messages

21 mars 2005, 17:46

voici un exemple de code

<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr><td><a href="index.php?$m="1"">lien 1</a></td><td><a href="index.php?$m="2"">lien 2</a></td><td><a href="index.php?$m="3"">lien 3</a></td></tr>
</table>
<?php
if ($m==1){echo "ca semble marcher???";}
if ($m==2){echo "ca se pourrait bien?";}
if ($m==3){echo "Ca marche!!!!!!!!!!!";}
?>

et voici le message d'erreur

Notice: Undefined variable: m in c:\program files\easyphp1-7\www\test\index.php on line 19/* ce qui correspond à $m==1*/
:!: Les variables que tu passes en URL ne doivent pas contenir de $ !
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
	<td><a href="index.php?m=1">lien 1</a></td>
	<td><a href="index.php?m=2">lien 2</a></td>
	<td><a href="index.php?m=3">lien 3</a></td>
</tr>
</table>
<?php
if ($_GET['m']==1){echo "ca semble marcher???";}
if ($_GET['m']==2){echo "ca se pourrait bien?";}
if ($_GET['m']==3){echo "Ca marche!!!!!!!!!!!";}
?>
Modifié en dernier par charabia le 21 mars 2005, 18:05, modifié 1 fois.

arno
Invité n'ayant pas de compte PHPfrance

21 mars 2005, 18:02

j'ai toujours la même erreur qui s'affiche concernant la variable m

Avatar du membre
ViPHP
ViPHP | 3008 Messages

21 mars 2005, 18:10

Page index.php :
<table width="100%" border="1" cellspacing="0" cellpadding="0"> 
<tr> 
    <td><a href="test.php?m=1">lien 1</a></td> 
    <td><a href="test.php?m=2">lien 2</a></td> 
    <td><a href="test.php?m=3">lien 3</a></td> 
</tr> 
</table>
Page test.php :
<?php 
echo $_GET['m'];?>
Qu'est-ce-que tu as en faisant ce code ?

NB : dans ma première réponse j'ai omis de mettre les ".
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td><a href="test.php?m=1 :arrow: ">lien 1</a></td>
<td><a href="test.php?m=2 :arrow: ">lien 2</a></td>
<td><a href="test.php?m=3 :arrow: ">lien 3</a></td>
</tr>
</table>

arno
Invité n'ayant pas de compte PHPfrance

21 mars 2005, 18:14

j'avais remarquer les guillemets mais ce n'est pas la cause

sinon le bout de code fonctionne

Avatar du membre
ViPHP
ViPHP | 3008 Messages

21 mars 2005, 18:16

Tout le code que tu as mis se trouve dans la même page index.php ?
<table width="100%" border="1" cellspacing="0" cellpadding="0"> 
<tr> 
    <td><a href="index.php?m=1">lien 1</a></td> 
    <td><a href="index.php?m=2">lien 2</a></td> 
    <td><a href="index.php?m=3">lien 3</a></td> 
</tr> 
</table> 
<?php 
if ($_GET['m']==1){echo "ca semble marcher???";} 
if ($_GET['m']==2){echo "ca se pourrait bien?";} 
if ($_GET['m']==3){echo "Ca marche!!!!!!!!!!!";} 
?>
Je dois filer, je regarderais ça de chez moi si tu n'as pas la solution d'ici là.
a++

arno
Invité n'ayant pas de compte PHPfrance

21 mars 2005, 18:23

ca marche mais le message d'erreur apparait au depart quand je lance index.php ensuite si je choisis un lien les message disparaissent.
y a t'il une manip pour les messages d'erreur intempestif????????

ViPHP
ViPHP | 2144 Messages

21 mars 2005, 18:29

oui, la première fois, ta variable "m" est indéfinie d'où l'erreur il faut que tu vérifies si elle est définie ou pas avec isset() avant de faire tes test tu pourrais faire :
if (isset($_GET['m']) {
if ($_GET['m']==1){echo "ca semble marcher???";} 
if ($_GET['m']==2){echo "ca se pourrait bien?";} 
if ($_GET['m']==3){echo "Ca marche!!!!!!!!!!!";} 
}