inserer une variable dans du html cité

inserer une variable dans du html cité - PHP - Programmation

Marsh Posté le 15-09-2006 à 16:01:12    

Bonjour,
 
j'ai un problème que je ne parviens pas à résoudre malgré de nombreuses recherches sur le net et sur le forum.
 
J'ai une syntaxe de type :  

Code :
  1. $before = 'CODE HTML',


 
j'aimerais integrer ce code HTMl dedans

Code :
  1. <div id="links" onmouseover="pastHover(this.id,' $name')"> </br>',


Le problème c'est qu'il y a confusion avec les parenthèses et les apostrophes.
 
j'ai donc des erreurs exepted T_Variables et cie.
 
Je ne peux avoir apparemment avoir qu'un couple d'apostrophes pour la citation, je ne sais pas quoi faire pour integrer cette variable.
 
Si vous avez une solution, je vous en remercie d'avance.
 
 

Reply

Marsh Posté le 15-09-2006 à 16:01:12   

Reply

Marsh Posté le 15-09-2006 à 16:04:12    

Code :
  1. $before = 'CODE HTML <div id=\'links\' onmouseover=\'pastHover(this.id," $name" )\'> </br>';

Message cité 1 fois
Message édité par chani_t le 15-09-2006 à 16:04:56
Reply

Marsh Posté le 15-09-2006 à 16:04:33    

\" à la place des "
 
et \\ à la pace des \
 
 
 
donc si t'as un js dedans :
 

Code :
  1. <div onclick="javascript:alert('prout\ntiti');">


 
ça donne :
 

Code :
  1. "<div onclick=\"javascript:alert('prout\\ntiti');\">"



Message édité par MagicBuzz le 15-09-2006 à 16:05:43
Reply

Marsh Posté le 15-09-2006 à 16:04:50    

[:pingouino]
 
Il serait temps d'apprendre à manipuler les chaine sde caractères, non? [:dawao]
 

Code :
  1. $before = '<div id="links" onmouseover="pastHover(this.id,\''.$name.'\')"> </br>\'';


 
(sous réserve d'une faute de frappe.:o)
 


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-09-2006 à 16:05:25    

chani_t a écrit :

Code :
  1. $before = 'CODE HTML <div id=\'links\' onmouseover=\'pastHover(this.id," $name" )\'> </br>';



you fail.[:dawa]
$name sera pas interprété, là... ;)


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-09-2006 à 16:12:43    

skeye a écrit :

you fail.[:dawa]
$name sera pas interprété, là... ;)


Arf.... j'l'avais pas vu celui la....
 

Code :
  1. $before = 'CODE HTML <div id=\'links\' onmouseover=\'pastHover(this.id,'. $name.' )\'> </br>';

:D

Reply

Marsh Posté le 15-09-2006 à 16:37:25    

C'est marrant ârce que javais essayé avec l'anti slash. bon je vais essayer, je vous dis si ca amrche. merci en tous cas.

Reply

Marsh Posté le 15-09-2006 à 16:44:14    

"Coin coin"
 
Euh ben j'ai essayé a peu pres toutes vos solutions, rien a faire, il me dit toujours  
 
Parse error: parse error, unexpected '.', expecting ')'
 
j'avais essayé

Code :
  1. <div id="links" onmouseover="pastHover(this.id,\'' .$name. '\')"> </br>';

mais cela me donnait apreil. Je suis désespéré.


Message édité par baku85 le 15-09-2006 à 16:45:02
Reply

Marsh Posté le 15-09-2006 à 16:46:04    

euh...
 
parceque tu trouves ton machin équilibré peut-être ? :o
 

Code :
  1. $var = '<div id="links" onmouseover="pastHover(this.id,\''.$name.'\')"> </br>';


 
et dire que je ne sais pas faire de php :o

Reply

Marsh Posté le 15-09-2006 à 16:52:58    

Serieusement, voila ce qui est écrit :
 

Code :
  1. $before = '<div id="links" onmouseover="pastHover(this.id,\''.$name.'\')"> </br>',


 
Dans le message d'avant j'avais oublié de mettre $before = '
 
Eh ben je vois pas ce qui peut clocher si ce n'est que je me trouve avec un structure de type 'code' variable .$name. 'code'.
 
il possible que je ne puisse mettre qu'un seul paquet de type 'code' non ?
 
Il faut savoir que cest du code Wordpress, alors bon, c'est peut etre pas super flexible.

Reply

Marsh Posté le 15-09-2006 à 16:52:58   

Reply

Marsh Posté le 15-09-2006 à 16:57:16    

Code :
  1. <?php
  2. $name = 'coucou';
  3. $before = 'CODE HTML <div id=\'links\' onmouseover=\'pastHover(this.id,'. $name.' )\'> </br>';
  4. echo $before;
  5. ?>


 
 

Citation :

CODE HTML <div id='links' onmouseover='pastHover(this.id,coucou )'> </br>


 
[:doc petrus]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-09-2006 à 16:57:32    

t'as une "," au lieu d'un ";" à la fin de ta ligne
 
et me dit pas qu'il y a bien un ";", ou alros apprends à faire un copier coller et poste nous ce que tu as exactement... t'as pas deux postes où tu écris la même chose...

Reply

Marsh Posté le 15-09-2006 à 16:58:42    

skeye a écrit :

Code :
  1. <?php
  2. $name = 'coucou';
  3. $before = 'CODE HTML <div id=\'links\' onmouseover=\'pastHover(this.id,'. $name.' )\'> </br>';
  4. echo $before;
  5. ?>


 
 

Citation :

CODE HTML <div id='links' onmouseover='pastHover(this.id,coucou )'> </br>


 
[:doc petrus]


y veut des ' autour du nom :p
 
ma soluce marche, mais chais pas comment il fait son compte pour pas réussir à faire un copier/coller :sweat:

Reply

Marsh Posté le 15-09-2006 à 16:59:32    

MagicBuzz a écrit :

y veut des ' autour du nom :p
 
ma soluce marche, mais chais pas comment il fait son compte pour pas réussir à faire un copier/coller :sweat:


J'ai juste repris un copier/coller d'une ligne plus haut dans le topic pour tester...[:joce]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-09-2006 à 16:59:53    

Mais arretez jai fait des copier/coller nickels je vous jure !
 
Bon je vais retenter je voustiens au courant.

Reply

Marsh Posté le 15-09-2006 à 17:00:09    

(et bref, problème d'interface chaise/clavier, suffit les conneries.:o)


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-09-2006 à 17:08:44    

skeye a écrit :

(et bref, problème d'interface chaise/clavier, suffit les conneries.:o)


c'est vendredi en même temps [:spamafote]

Reply

Marsh Posté le 15-09-2006 à 17:09:15    

Riena faire, je suis trop nul
 
Pour vous prouver ma bonne foi, voici un copier/coller ctrl+c ctrl+v direct de Dreamweaver
 

Code :
  1. function get_links($category = -1,
  2.   $before = '<div id=\'links\' onmouseover=\'pastHover(this.id,'. $name.' )\'> </br>',
  3.   $after = '</div>',
  4.   $between = ' ',
  5.   $show_images = true,
  6.   $orderby = 'name',
  7.   $show_description = true,
  8.   $show_rating = false,
  9.   $limit = -1,
  10.   $show_updated = 1,
  11.   $echo = true) {
  12. Un peu plus loin : $output .= $before;
  13. vers la fin : if ($show_description && ($desc != '')) {
  14.   $output .= '<br/> <span id="'. $name .'"'.$between . $desc. '</span>';
  15. }
  16.  $output .= "$after\n";


 
Chais pas il veut pas, ya vraiment un probleme, c'est pas parce que c'est dans une syntaxe function ?
 
EDIT : javais oublié le morceau avec $after  :cry:

Message cité 1 fois
Message édité par baku85 le 15-09-2006 à 17:11:02
Reply

Marsh Posté le 15-09-2006 à 17:14:43    

baku85 a écrit :

Riena faire, je suis trop nul
 
Pour vous prouver ma bonne foi, voici un copier/coller ctrl+c ctrl+v direct de Dreamweaver
 

Code :
  1. function get_links($category = -1,
  2.   $before = '<div id=\'links\' onmouseover=\'pastHover(this.id,'. $name.' )\'> </br>',
  3.   $after = '</div>',
  4.   $between = ' ',
  5.   $show_images = true,
  6.   $orderby = 'name',
  7.   $show_description = true,
  8.   $show_rating = false,
  9.   $limit = -1,
  10.   $show_updated = 1,
  11.   $echo = true) {
  12. Un peu plus loin : $output .= $before;
  13. vers la fin : if ($show_description && ($desc != '')) {
  14.   $output .= '<br/> <span id="'. $name .'"'.$between . $desc. '</span>';
  15. }
  16.  $output .= "$after\n";


 
Chais pas il veut pas, ya vraiment un probleme, c'est pas parce que c'est dans une syntaxe function ?
 
EDIT : javais oublié le morceau avec $after  :cry:


je quote pour la gloire ce splendide morceau de code ...
 
Alors euh ... dans l'ordre ... Es-tu bien sur de savoir ce que tu fais? Nan parce qu'initialiser certains paramètres de ta fonction quand ceux-ci ne sont pas passés c'est plutot une bonne idée mais la c'est total nawak ...
Evidement on parlera plus tard de $output qui doit être déclaré à la sauce goret(en global quelque part) et du fait qu'une fonction normalement ça retourne quelque chose!

Reply

Marsh Posté le 15-09-2006 à 17:22:45    

Ben c'est du Wordpress ca existait avant meme que jy touche.
 
Moi ce que je veux c est juste le bidouiller un peu pour caler mon code HTMl avant les infos qu'il imprime.  
 
Sans le probleme de $name, en enlevant toute la partie onmouseover par exemple, ca fonctionne très bien, jai le style CSS #links qui est bien interprete, bref tout fonctionne. C'est juste que je n'arrir pas a caler ce onmouseover a cause de ce probleme de $name.
 
Maintenant je ne  suis en effet pas programmeur PHP, vous laurez deviné  ;)


Message édité par baku85 le 15-09-2006 à 17:25:33
Reply

Marsh Posté le 15-09-2006 à 17:25:28    

[:ohmyeyes]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-09-2006 à 18:29:43    

Ca y est j'ai réussi.
 
Bon en fait, j'ai tout vire de la variable $before et j'ai utilise le systeme $output qui semble avoir ete crée pour imprimer du code nimporte ou nimporte comment
 
J'ai donc transforme  
 

Code :
  1. $output .= $before;
  2. EN
  3. $output .=  '<div id=\'links\' onmouseover="pastHover(this.id,\''. $name.'\')" onmouseout="pastOut(this.id,\'#000\',\''. $name.'\')"></br>';


 
Et ca marche !
 
Voila, topic OFF,
 
Merci à tous pour votre aide (et vos doutes quant à mes compétences ) :lol: !

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed