pb de syntaxe

invité145
Invité n'ayant pas de compte PHPfrance

28 août 2007, 18:52

Bonjour,

je voudaris ouvrir une pop up avec ce code ci mais j'ai un pb de syntaxe avec les ':

voici le code:
<a href="voirvideo.php?id='.$depeche['id'].'" target="wclose"
onclick="window.open 'popup.htm','wclose', 'width=1000,height=520,toolbar=no,status=no,left=20,top=30')" 
quelqu'un a une idée....?

Eléphanteau du PHP | 28 Messages

28 août 2007, 19:28

Tu as inserer une variable en PHp dans du code HTML sans ouvrire les balise PHP.




Voila la solution, il me semble, si tu n'y arrive pas:
<a href="voirvideo.php?id=<?php echo $depeche['id']; ?>" target="wclose"
onclick="window.open 'popup.htm','wclose', 'width=1000,height=520,toolbar=no,status=no,left=20,top=30')">

Normalement sa devrait marcher mais je n'ai pas tout vérifier :wink:

PS: N'oublie pas de dire si otn sujet est résolue ou non pour pas que d'autres gens cherche l'erreur si il n'yen as plus :) .

Invité
Invité n'ayant pas de compte PHPfrance

28 août 2007, 19:45

en fait j'ai cette requette dans ma page php:
$content['corps'] .= '
	<p>
		<img src="templates/default/img/2738.gif" width="11" height="11">&nbsp;<b><a href="voirvideo.php?id='.$depeche['id'].'"><font face="verdana" size="1">'.stripslashes($depeche['titre']).'</font></a></b>
		<font face="verdana" size="1"><br /><br /><img src="'.stripslashes($depeche['photo']).'"> - '.stripslashes($depeche['resume']).'</font>
	</p>';
}
j'ai creer , je souhaite que la video en cliquant sur le lien...voirvideo.php?id='.$depeche['id'].' s'affiche dans une pop up...sauf que je n'arrive pas a lui indiquer qu'il doit ouvrir une pop up.

Voila pourquoi j'ai proposer ce qu'il y a au dessus..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 août 2007, 20:33

je voudaris ouvrir une pop up avec ce code ci mais j'ai un pb de syntaxe avec les ':
Ce n'est pas bien compliqué :
- dans une chaine délimitée par des guillemets, tu peux utiliser des apostrophes. Si tu veux utiliser des guillemets, il faut les protéger avec un antislash : "
- dans une chaine délimitée par des apostrophes, tu peux utiliser des guillemets. Si tu veux utiliser des apostrophes, il faut les protéger avec un antislash : \'

A partir de là, il te suffit de partir du code html/javascript que tu veux générer et insérer le php en protégeant les apostrophes ou guillemets qui en ont besoin :)

Aller hop, au boulot, je ramasse les copies dans 2 heures ;)

Edit : pour ouvrir un lien dans une nouvelle fenêtre, il faut ajouter l'attribut target="_blank" dans le lien. Pour une popup il faut un du javascipt et au moins un window.open quelque part dans ton code...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

invité145
Invité n'ayant pas de compte PHPfrance

29 août 2007, 18:25

voici ma requete dans ma page php:
<a href="voirvideo.php?id='.$depeche['id'].'" target=\"wclose\" onclick=\"window.open \'voirvideo.php?id='.$depeche['id'].'\',\'wclose\', \'width=1000,height=520,toolbar=no,status=no,left=20,top=30\')"><font face="verdana" size="1">'.stripslashes($depeche['titre']).'</font></a></b> <font face="verdana" size="1"><br /><br /><img src="'.stripslashes($depeche['photo']).'"> - '.stripslashes($depeche['resume']).'</font>
Mais ca ne marche toujours pas.... :(

Ca m'affiche:

target="wclose" onclick="window.open('','wclose', 'width=1000,height=572,toolbar=no,status=no,left=20,top=30')">

Liens


(cette page .php est lié a une page templates)

ViPHP
ViPHP | 5924 Messages

29 août 2007, 18:29

Lis le code que tu as posté. Avec la coloration syntaxique, tu devrais voir le problème.

Invité
Invité n'ayant pas de compte PHPfrance

29 août 2007, 18:42

<a href="voirvideo.php?id='.$depeche['id'].'" target=\"wclose\" onclick=\"window.open \'voirvideo.php?id='.$depeche['id'].'\',\'wclose\', \'width=1000,height=520,toolbar=no,status=no,left=20,top=30\')"><font face="verdana" size="1">'.stripslashes($depeche['titre']).'</font></a></b> <font face="verdana" size="1"><br /><br /><img src="'.stripslashes($depeche['photo']).'"> - '.stripslashes($depeche['resume']).'</font> 

Non, je ne vois pas... :(

ViPHP
ViPHP | 5924 Messages

29 août 2007, 18:45

A un endroit de la chaine, après target, ca reste rouge alors que ca devrait redevenir bleu, continue à chercher…

Invité
Invité n'ayant pas de compte PHPfrance

29 août 2007, 20:29

J'ai essayé mais ca ne marche toujours pas...

Invité
Invité n'ayant pas de compte PHPfrance

29 août 2007, 20:30

j'ai bien mis: \target="wclose\" mais c'est pas pris en compte....

Invité
Invité n'ayant pas de compte PHPfrance

29 août 2007, 20:31

j'ai bien mis: le \ dans target=\"wclose\" mais c'est pas pris en compte....

ViPHP
ViPHP | 5924 Messages

29 août 2007, 20:50

Quand tu travailles dans une chaine avec des simples quotes, tu n'as pas besoin d'échapper les double quote, et vice versa…

Invité
Invité n'ayant pas de compte PHPfrance

29 août 2007, 20:56

en clair, ca veut sire quoi..?

désolé... :(

ViPHP
ViPHP | 5924 Messages

29 août 2007, 21:01

Ca veut dire que si tu fais '\'', php l'interprétra ', si tu fais "\"", php l'interprétra ", par contre, si tu fais '\"', php l'interprétra \" et si tu fais "\'", php l'interprétra \', car le caractère ' ne doit êre échappé que dans une chaine simple quotée, et le caractère " ne doit l'être que dans une chaine double quotée…

Invité
Invité n'ayant pas de compte PHPfrance

30 août 2007, 10:21

Re,

Voici la chaine qui doit etre interpreter dans mon html:

<a href="voirvideo.php?id='.$depeche['id'].'" target="wclose" onclick="window.open 'popup.htm','voirvideo.php?id='.$depeche['id'].'', 'width=1000,height=520,toolbar=no,status=no,left=20,top=30')">

Voici ce que j'ai mis dans ma page php:
<a href="voirvideo.php?id='.$depeche['id'].'" target="\""wclose"\"" onclick="\""window.open '\"voirvideo.php?id='\".$depeche['id'].'\"'\",'\"wclose'\", '\"width=1000,height=520,toolbar=no,status=no,left=20,top=30'\")">
Mais ca ne marche toujours pas...

Il me dit: Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/data

et Parse error: parse error, unexpected '\"' in /var/www/data

Merci de votre aide...