Page 1 sur 1

liens avec variable

Posté : 03 mars 2007, 18:40
par jdn
bonjour,
dans une page php , j ai plusieur variable ( qui fonctionnent toutes ) et dont la ligne qui nous interresse se presente comme ceci

. "<td valign=\"top\"><img width=\"120\" src=\"" . $mpimage . "\" alt=\"\" title=\"" . htmlentities($gserver2->mpservername) . "\" /></td>\n"

d autre variable sont a utiliser avec la ligne ci dessus
voici les variable
$address
$sport
(lien souhaitez = <a href=lancement:// $address:$sport> . "<td valign=\"top\"><img width=\"120\" src=\"" . $mpimage . "\" alt=\"\" title=\"" . htmlentities($gserver2->mpservername) . "\" /></td>\n" </a>

ps:lancement peut etre http ou un jeu ou un ts etc... c est pour cela que je l ai appeller lancement

au finial
je voudrai que lorsque mon image s affiche que je puisse cliker sur le lien corespondant
pourriez vous m aidez , je c est que ce n est pas compliquer a faire , mais je ne sais pas faire , je suis un noob en ce domaine
merci par avance

Posté : 03 mars 2007, 21:50
par Ryle
Première chose à voir, c'est le html que tu veux obtenir en sortie. On ne peut pas mettre des n'importe quelle balises n'importe où, typiquement, on ne peut pas mettre de lien sur une cellule de tableau :)

PHP se contente simplement de générer du html, avant de maitriser la génération, il faut commencer par maitriser le généré - ca te permettra accessoirement d'avoir un code propre :)

Tu as, dans une cellule de tableau, une image sur laquelle tu veux ajouter un lien :

Code : Tout sélectionner

<td valign="top"> <a href="url_du_lien"> <img width="120" src="url_de_ton_image" alt="alt_image" title="titre_image" /> </a> </td>
La meilleure chose à faire à partir de la, c'est d'insérer le code php là où tu en as besoin :
<td valign="top">
  <a href="<?php echo $url_du_lien; ?>">
    <img width="120" src="<?php echo $url_de_ton_image; ?>" alt="<?php echo $titre_image; ?>" title="<?php echo $titre_image; ?>" />
  </a>
</td>
Mais tu peux aussi tout faire afficher en php comme tu semble le faire. Et je te recommande dans ce cas d'utiliser des apostrphes pour délimiter tes chaines plutôt que des guillemets, ca t'évitera d'avoir à protéger tous tes attributs avec des antislahs :
echo '<td valign="top">
  <a href="'. $url_du_lien .'">
    <img width="120" src="'. $url_de_ton_image .'" alt="'. $titre_image.'" title="'. $titre_image.'" />
  </a>
</td>' . "\n";
Il ne te reste plus alors qu'à remplacer les variables que j'ai utilisé par tes valeurs pour avoir ce que tu souhaites.

Posté : 04 mars 2007, 00:22
par jdn
apres avoir fait ce que tu m as dis , je pensais effectivement que ça fonctionnerai mais non, j ai un message d erreur
je te copie le message d erreur

syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';'


et la ligne que j ai faites en suivant tes directive est

echo "<table width=\"100%\" cellspacing=\"5\" cellpadding=\"0\"><tr>\n"
"<td valign="top"><a href="MON_URL//"><img width=\"120\" src=\"" . $mpimage . "\" alt=\"\" title=\"" . htmlentities($gserver->mpname) . "\" /></a></td>\n"

pourrais tu me dire ou se trouve l erreur
merci par avance

Posté : 04 mars 2007, 02:42
par Ryle
syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';'
Cela signifie que tu as une erreur de syntaxe, un point-virgule oublié, des parenthèses non équilibrées, une chaine mal fermée...

Regardes ce que donne ton code avec la coloration syntaxique (les chaines devraient être en rouge, les variables en bleu)
echo "<table width=\"100%\" cellspacing=\"5\" cellpadding=\"0\"><tr>\n" 
"<td valign="top"><a href="MON_URL//"><img width=\"120\" src=\"" . $mpimage . "\" alt=\"\" title=\"" . htmlentities($gserver->mpname) . "\" /></a></td>\n" 
Entre des apostrophes, tu peux mettre des guillemets.
Entre des guillemets, tu peux mettre des apostrophes.
En revanche, si tu veux mettre des guillemets entre des guillemets (ou des apostrophes entre des apostrophes) il faut penser à toutes les protéger avec des antislahes, sans quoi php pense que la chaine est terminée et analyse la suite comme s'il s'agissait d'instruction php alors que ce n'est pas le cas :)

Posté : 04 mars 2007, 03:40
par jdn
ben j ai verifier et pour moi tt devrai etre ok , mais ce qui n est pas normal c est que le message
syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';'

me renvoie sur cette ligne la

"<td valign="top"><a href="MON_URL//"><img width=\"120\" src=\"" . $mpimage . "\" alt=\"\" title=\"" . htmlentities($gserver->mpname) . "\" /></a></td>\n"

il n y a pourtant ni virgumle ni point virgule

Posté : 04 mars 2007, 05:31
par jdn
en tt cas ça m a permis de voir que je me suis tromper dasn mon lien
je t explique
en fait la ligne ci dessous
"<td valign="top"><a href="MON_URL//"><img width=\"120\" src=\"" . $mpimage . "\" alt=\"\" title=\"" . htmlentities($gserver->mpname) . "\" /></a></td>\n"

devrai etre plutot comme celle ci
. "<td valign=\"top\"><a href=\"MON_URL:// \" . $address . ":" . $sport. "\"><img width=\"120\" src=\"" . $mpimage . "\" alt=\"\" title=\"" . htmlentities($gserver->mpname) . "\" /></a></td>\n"

pourrasi tu eventuellement me coriger ma ligne en sachant que $address et $sport sont des variable ki fonctionne bien sur ainsi que les autre variable dans la ligne , c est juste la facon d ecrire l hyper lien ki me mets en galere

merci par avance

Posté : 04 mars 2007, 06:02
par jdn
apres le dernier poste que je t ai envoyé ou je m etais tromper dasn mon hyper lien, tous fonctionne , je vous remercie de m avoir aider

c etais a cause des = et des \ et de " aussi lool
pb resolu ;)
merci encore