pb de syntaxe

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 : pb de syntaxe

par Invité » 30 août 2007, 11:46

Résolu....merci beaucoup

Re: pb de syntaxe

par Ryle » 30 août 2007, 10:58

Faut y mettre un peu du tient également, là tu fais un peu n'importe quoi :)
- 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 : \'
Pars (quasiment toujours) du résultat html que tu veux obtenir et laisse tomber le php dans un premier temps. Tant que celui-ci ne sera pas correct, tu n'arriveras à rien (il te manque une parenthèse ouvrante juste après le window.open)
<a href="voirvideo.php?id=xxx" 
  target="wclose" 
  onclick="window.open('popup.htm','voirvideo.php?id=xxx', 'width=1000,...');"> 
Ensuite, transforme ton code en php en ajoutant des apostrophes ou des guillemets autour en respectant ce que j'ai cité plus haut : si tu utilises des apostrophes pour délimiter ta chaine, tu dois protéger toutes les apostrophes qu'elle contient. Si tu utilises des guillemets, seules les guillemets sont à protéger d'un antislash. Exemple avec des apostrophes :
<?php 
echo '<a href="voirvideo.php?id=xxx" 
  target="wclose" 
  onclick="window.open(\'popup.htm\',\'voirvideo.php?id=xxx\', \'width=1000,...\');">';
?>
Il ne reste plus ensuite qu'à insère les variables php dans ta chaine là où tu en as besoin :
<?php 
echo '<a href="voirvideo.php?id=' . $variablePHP . '" 
  target="wclose" 
  onclick="window.open(\'popup.htm\',\'voirvideo.php?id=' . $variablePHP . '\', \'width=1000,...\');">';
?>
Et tu peux ainsi être certain que ton code php génerera bien le code html que tu souhaites obtenir.

par Invité » 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...

par Sékiltoyai » 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…

par Invité » 29 août 2007, 20:56

en clair, ca veut sire quoi..?

désolé... :(

par Sékiltoyai » 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…

par Invité » 29 août 2007, 20:31

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

par Invité » 29 août 2007, 20:30

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

par Invité » 29 août 2007, 20:29

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

par Sékiltoyai » 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…

par Invité » 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... :(

par Sékiltoyai » 29 août 2007, 18:29

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

par invité145 » 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)

Re: pb de syntaxe

par Ryle » 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...

par Invité » 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..