Lien html dans une variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Lien html dans une variable

par maelinn » 17 juil. 2007, 00:15

Merci ! :D

par zeus » 16 juil. 2007, 19:56

Je n'étais pas enregistrée donc je ne peux pas mettre le post en résolu. Si un admin passe par là...
Modération :
Comme tu nous le demande, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

par maelinn » 16 juil. 2007, 18:22

Je n'étais pas enregistrée donc je ne peux pas mettre le post en résolu. Si un admin passe par là...

par Invité » 16 juil. 2007, 18:18

Ca marche nickel, merci beaucoup ! :D

par @rthur » 16 juil. 2007, 15:06

Exact, addslashes ne sert à rien dans ton cas...
Remplace addslashes dans ma réponse précédente par par htmlspecialchars ;)

http://fr.php.net/htmlspecialchars()

par Maelinn » 16 juil. 2007, 13:06

Merci pour tous ces conseils !

Par contre ça ne fonctionne tjs pas... Voici une copie d'écran de ce qui apparait lorsque j'édite :
Image

Et le code source correspondant :

Code : Tout sélectionner

<span class="rouge">Lien Amazon :</span><input type="text" size="85" name="amazon" value="\"http://www.amazon.fr/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.fr%2FLit-dAli%25C3%25A9nor-Mireille-Calmel%2Fdp%2F2845630417&tag=ethos-21&linkCode=ur2&camp=1642&creative=6746\">Acheter</a><img src=\"http://www.assoc-amazon.fr/e/ir?t=ethos-21&l=ur2&o=8\" width=\"1\" height=\"1\" border=\"0\" alt=\"\" style=\"border:none !important; margin:0px !important;\" />" /><br />

par @rthur » 15 juil. 2007, 23:48

Essaye d'ajouter un addslashes comme cela:
<p><span class="rouge">Lien Amazon :</span><input type="text" size="85" name="amazon" value="<?php echo addslashes($amazon); ?>" /><br />
Sinon, si je peux te suggérer une amélioration: je pense qu'il est + judicieux d'enregistrer en base de données uniquement le lien (http://...) et de rajouter les balises HTML (<a href=...) uniquement au moment de l'affichage de ta page. Cette solution te permettra + de souplesse quand tu voudras faire des mises à jour plus tard... (par exemple, rajouter une icone devant le texte du lien)

##edit: je viens de voir ton code PHP ci-dessus, n'oublie pas mysql_real_escape_string() ;)

par Maelinn » 15 juil. 2007, 23:46

J'ai oublié le code php de l'édition...
<?php

if (isset($_GET['modifier_livre'])) 
			{
$modifier_livre = intval($_GET['modifier_livre']);
$retour = mysql_query('SELECT * FROM livres WHERE id=' . $_GET['modifier_livre']);
$donnees = mysql_fetch_array($retour);	   

			$amazon = $donnees['amazon'];
			$id_livre = $donnees['id'];
Le reste du code ne pose pas de problème. ca marche avec tous mes autres items donc... Mais si vous voulez que je poste tout le code, dites-le moi :)

par Invité » 15 juil. 2007, 23:35

Merci de t'intéresser à mon problème !

J'ai donc suivi tes conseils.
Alors, quand je regarde la source au moment de l'édition, tout semble normal, mais l'affichage de la page n'est pas bon. Le lien n'est plus dans le champ et une partie est même écrite à l'extérieur.

Pour être plus claire, voici un exemple de lien :

Code : Tout sélectionner

<a href="http://www.amazon.fr/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.fr%2FLit-dAli%25C3%25A9nor-Mireille-Calmel%2Fdp%2F2845630417&tag=ethos-21&linkCode=ur2&camp=1642&creative=6746">Acheter</a><img src="http://www.assoc-amazon.fr/e/ir?t=ethos-21&l=ur2&o=8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />


Le mot Acheter (nom du lien) apparait à l'extérieur du champ. Il semblerait donc que ce soit le crochet > situé avant le nom du lien qui pose problème.

Si j'enregistre l'entrée telle quelle, le code source de la page rendue montre un lien vide : < a href= ce qui explique l'application d'un lien à toute la page.

Voici donc le code de mon formulaire :

Code : Tout sélectionner

<p><span class="rouge">Lien Amazon :</span><input type="text" size="85" name="amazon" value="<?php echo $amazon; ?>" /><br />
La variable amazon etant donc le lien en question...

par @rthur » 15 juil. 2007, 22:21

Bonjour,

Regarde le code HTML généré pour trouver l'origine du problème...

Si tu ne trouves pas, décris nous + en détail ton problème notamment en nous donnant les bout de codes intéressants (code PHP qui génère ton formulaire d'édition, code HTML qui pose problème...)

Lien html dans une variable

par Maelinn » 15 juil. 2007, 20:56

Slt !

Voila mon problème. Je crée des articles en mettant les données dans un formulaire. Un des champs contient un lien que je veux voir afficher ensuite.

Tout va bien à condition que je n'édite pas l'article. Quand je rappelle les données, le lien disparait du champ et semble s'appliquer à toute la page. J'aurais bien laissé <a href=" et "</a> à l'extérieur du champ, mais ça n'est pas possible car c'est un lien commercial et qu'il faudrait que je le scinde en 2.

Existe-til un moyen pour éviter ce bug ?
Merci !