print avec lien et variable

Eléphant du PHP | 259 Messages

01 nov. 2005, 18:57

j'ai une variable $ban_id que j'ai dans une page ouverte avec un lien de la forme

http://www.site.com/index.php?ban_id=12

dans cette page, je voudrais mettre un autre lien supprimer définitivement la bannière
<?
echo "<p align=/"center"/><a href=/"/echange/membres/ban_info_delete2.php?ban_id=$ban_id"/ class=/"menulink"/><strong>Supprimer d&eacute;finitivement cette banni&egrave;re </strong></a></p>";
?>
mais sa marche pas

comment faut il mettre le code ???
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

01 nov. 2005, 19:08

Qu'est-ce qui ne marche pas exactement ?

Eléphant du PHP | 259 Messages

01 nov. 2005, 19:09

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /var/www/sdc/0/8/yuu.sw/echange/membres/ban_infos_delete.php on line 111
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

01 nov. 2005, 19:22

Alors pourquoi ne pas donner directement ce message d'erreur dès le début ?!

Quand tu demandes de l'aide, essaye de donner le maximum d'infos pour que l'on puisse t'aider...

Pour échapper un guillemet, c'est un anti-slash (\) et non un slash (/)

Eléphant du PHP | 259 Messages

01 nov. 2005, 19:23

la ligne 11 est celle avec le echo

j'ai essayé plusieurs possibilitées
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Eléphant du PHP | 259 Messages

01 nov. 2005, 19:28

oups

j'ai changé le code comme sa
<?
echo "<p align="\center"\><a href="\/echange/membres/ban_info_delete2.php?ban_id=$ban_id"\ class="\menulink"\><strong>Supprimer d&eacute;finitivement cette banni&egrave;re </strong></a></p>";
?>
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/sdc/0/8/yuu.sw/echange/membres/ban_infos_delete.php on line 111

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /var/www/sdc/0/8/yuu.sw/echange/membres/ban_infos_delete.php on line 111
sa marche toujours pas
peut tu me donner le code correct sil te plait
car je vois pas du tout comment mettre les slashs etc

en fait, il faudrait que dans le echo, l'adresse soit de la forme
http://www.site.com/inde.php?ban_id=2 2 est un exemple, c'est la valeur de la variable $ban_id récupérée un peu plus haut

l'erreur ne vient pas de $ban_id car j'ai testé avec un echo texte , sa affiche bien la valeur que l'on veut
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

01 nov. 2005, 20:24

Tu peux trouver la syntaxe tout seul, c'est assez simple, il faut juste que tu fasses attention

Entre guillemets, les chaines de caractères. Si tu veux insérer des guillemets à l'intérieur de cette chaine, tu dois les faire précéder de \

exemple :
echo "<a href=\"http://www.google.fr\">Google</a>";
les deux guillemets autour de la valeur de href font partie du code HTML et non de la délimitation de la chaine de caractères, on les échappe donc avec un anti-slash

Ensuite, si on veut insérer une variable, on peut soit l'insérer directement dans la chaine, ou on peut la concaténer (ce qui est mieux) avec un point
exemple :
$variable ="DEF";
$chaine = "ABC".$variable;
echo $chaine; // affichera ABCDEF
donc en suivant ces infos, si tu regardes ta chaine tu verras qu'il n'y a pas grand chose à changer ;)

ViPHP
pjl
ViPHP | 2119 Messages

01 nov. 2005, 23:54

C'est une question de logique.
Tu ouvres et fermes ta chaine de caractères avec des guillements.
Tu dois donc différencier TOUS les guillements à l'intérieur de cette chaine pour que le PHP puisse savoir que la chaine de caractères ne s'arrète pas au premier guillemt rencontré.
C'est pour celà qu'il faut échapper les guillements.

Eléphant du PHP | 259 Messages

02 nov. 2005, 15:44

merci

sa marche
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites