Page 1 sur 1

variable php dans url

Posté : 13 mars 2011, 02:07
par ybezier
Bonjour

J'ai réalisé un programme php qui génère un mail au format html.
Dans ce mail, j'insère une image.
Sur cet image, l'opérateur peut cliquer et ouvrir un page html.
Je voudrais paramètrer l'url lié à cette image en passant un paramètre récupéré dans un formulaire.

voici ma ligne de code :

$body = '
<html>
<head>
<table>
<tr valign="top">
<td>
<a href="http://www.baliemotion.com/html/pages/v ... 20_001.php" target="_blank" title="Bali Emotion - Un autre regard sur le tourisme">
<img src="http://www.baliemotion.com/images/M_ima ... tan_01.jpg" height="116" width="120" border="0"></a>
</td>
</tr>
</table>
etc...

Ma question est quelle syntaxe faut il utiliser pour passer un paramètre dans mon adresse url du style " ...cir20_001.php?nom=$ma_variable...

Merci d'avance

Re: variable php dans url

Posté : 13 mars 2011, 02:46
par misterflo
Bonsoir,

il faut l'écrire directement dans le lien href.

Par exemple, on récupère les id de toutes les page présentent dans la bdd, ensuite on peut construire dynamiquement les url.
/* requête SQL etc. */
while ($donnees = $req->fetch())
{
	$page = $donnees['id_page'] /* id_page entre [ ] correspond au nom du champ de la bdd */
	echo "<a href=\"mon_url.php?id=$page\">Page numéro $page</a>";
}
Ensuite on récupère ce paramètre avec un $_GET['id']

Avec un exemple ca donnerait ceci :
Sur une page il y a un lien : <a href="http://www.example.com/index.php?page=36>Allez à la page 36 !</a>
Ensuite on récupère la valeur de page comme ceci :
if (isset($_GET['page']))
{
	$id_news = htmlspecialchars($_GET['page']);
	echo "Vous êtes sur la page numéro $id_news";
}
else
{
	echo "bla bla bla bla";
}
C'est un exemple parmi tant d'autres

Explication de $_GET sur http://php.net/manual/fr/reserved.variables.get.php

Re: variable php dans url

Posté : 13 mars 2011, 11:03
par ybezier2
Bonjour,

Merci pour cette réponse, mais elle ne répond pas à ma question.
Je sais qu'il faut écrire directement dans le href, mais il doit y avoir une syntaxe particulière car il n'interprete pas le contenu de ma variable $nom.

Je rappelle ma demande :

Je construis un mail au format HTML via un programme PHP
Dans mon PHP, j'ai :

$body='<html><head><table><tr>'
$body=$body . '<td><a href="http://www.baliemotion.com/html/pages/v ... hp?id=$nom" >
<img src="http://www.baliemotion.com/images/M_ima ... tan_01.jpg" height="116" width="120" border="0"></a>
</td>

Etc...

quand j'exécute ce traitement PHP, mon mail est bien généré au format HML, l'image est correcte mais quand je passe la souris sur l'image le lien s'affiche sans interpréter $nom mais en affichant ...cir20_001.php?id=$nom

Une idée ?

Merci

Re: variable php dans url

Posté : 13 mars 2011, 11:17
par xTG
Les simples quotes ne permettent pas d'interpréter les variables, il faut des doubles.
$test = "simple";
echo 'un test $test'; // un test $test
echo "un test $test"; // un test simple

Re: variable php dans url

Posté : 13 mars 2011, 12:00
par ybezier2
Merci bcp xTG
Ca fonctionnement exactement comme je veux

Merci encore