Passage html en echo d'un php

Résolu
BlueSkyBalmung Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Quelqu'un pourrait m'aider à faire passer mon html dans un echo en php ? Je commence à perdre patience, depuis quelques temps je n'arrive qu'à echo la moitié, tout viens de mon php dans le html (j'enleve pourtant les balise php pour ne laisser que le GET), je serais infiniement reconnaissant à celui qui y arrivera
D'habitude je sais le faire pour de courtes chaines html , mais là l'entremelement de " et de ' ou de plusieurs fois le même...

<div id="mod_print_fiche">
<a href="javascript: void(0)"  onclick="window.open('traitement_print_pdf.php?fiche_id=<? echo $_GET['fiche_id'];?>', 
 'Impression', 
 'width=800, height=600'); 
  return false;" style="float: right;"> <img src="./modules/mod_print_fiche/images/icone-print.jpg"></a>
</div>

Merci d'avance
Note : le code est juste, mais j'ai voulu rajouter une condition pour ajouter mon bouton d'impression

4 réponses

88av Messages postés 263 Date d'inscription   Statut Membre Dernière intervention   7
 
Quand tu exécute le code, ça te renvoie quoi en html ?
0
BlueSkyBalmung Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Quand j'essaie de le mettre en echo c'est à dire :
echo '<div id="mod_print_fiche"> 
<a href="javascript: void(0)" onclick="window.open('.'traitement_print_pdf.php?fiche_id='.$_GET['fiche_id'].', 
"Impression", 
"width=800, height=600"); 
return false;" style="float: right;"> <img src="./modules/mod_print_fiche/images/icone-print.jpg"></a> 
</div>';


j'obtiens ceci :
<a style="float: right;" false;"="" return="" height="600");" "width="800," impression",="" onclick="window.open(traitement_print_pdf.php?fiche_id=2.765, " href="javascript: void(0)">

    <img src="/./modules/mod_print_fiche/images/icone-print.jpg"></img>
0
88av Messages postés 263 Date d'inscription   Statut Membre Dernière intervention   7
 
Essaye ça :

echo '<div id="mod_print_fiche"> 
<a href="javascript: void(0)" onclick="window.open(\'.\'traitement_print_pdf.php?fiche_id='.$_GET['fiche_id'].', 
"Impression", 
"width=800, height=600"); 
return false;" style="float: right;"> <img src="./modules/mod_print_fiche/images/icone-print.jpg"></a> 
</div>';


J'ai changé le
'.'
en
\'.\'
0
BlueSkyBalmung Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
J'obtiens ceci

<a style="float: right;" false;"="" return="" height="600");" "width="800," impression",="" onclick="window.open('/.'traitement_print_pdf.php?fiche_id=2.765, " href="javascript: void(0)">

    <img src="/./modules/mod_print_fiche/images/icone-print.jpg"></img>


ça ne marche pas :/ pour le moment le bouton s'affiche je precise, juste qu'il ne fait absolument rien
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

<?php
$html = '
<div id="mod_print_fiche">
<a href="javascript: void(0)"  onclick="window.open(\'traitement_print_pdf.php?fiche_id=' . intval($_GET['fiche_id']) . '\', \'Impression\', \'width=800, height=600\'); return false;" style="float: right;">
 <img src="./modules/mod_print_fiche/images/icone-print.jpg"></a>
</div>
';

echo $html;
?>

Si tu englobe ton html dans une chaine php délimitée par des quotes simple, il faut uniquement échapper les quotes simples à l'intérieur de ta chaine avec \.

Personnellement, je trouve ta version en html beaucoup plus lisible que vouloir l'englober dans une chaine php.
0
Utilisateur anonyme
 
Personnellement, je trouve ta version en html beaucoup plus lisible que vouloir l'englober dans une chaine php.


complètement d'accord, ils se prennent la tete depuis tout à l'heure alors qu'il manque juste le bout de la balise <?php -_-'
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Les balises courtes (<? ?>) peuvent fonctionner si l'option short_open_tag est activé dans la config php : https://www.php.net/manual/fr/ini.core.php#ini.short-open-tag
Puisque cette config n'est pas activée sur tous les serveurs web, on conseil d'utiliser toujours les balises complètes (<?php ?>) pour assurer la portabilité du code.

Depuis php 5.4, la balise <?= (qui équivaut à <?php echo) est désormais toujours activée ;)
0
Utilisateur anonyme
 
salut


<div id="mod_print_fiche"> 
<a href="javascript: void(0)" onclick="window.open('traitement_print_pdf.php?fiche_id=<?php echo $_GET['fiche_id'];?>', 
'Impression', 
'width=800, height=600'); 
return false;" style="float: right;"> <img src="./modules/mod_print_fiche/images/icone-print.jpg"></a> 
</div> 



devrait aller

confirme moi stp

naga
-2
BlueSkyBalmung Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
C'est moi ou vous m'avez exactement donné la même chaîne que je vous ai fournie ?
je demande de le mettre dans un echo qui plus est, donc entre apostrophe :/
0
Utilisateur anonyme
 
j'ai simplement rajouté l'info 'php' (à moins que ma version php date un peu, mais <? me provoque des soucis alors que <?php non)

concernant les quotes en elles même, celles contenu entre les balises <?php ?> ne sont interprétée avec celles du html ou javascript => le php étant interprété côté serveur.


il faut que tu montre comment ton get est implémenté, la synthaxe est correcte (pour s'en rendre compte il suffit de remplacer la valeur renvoyé du get pas une valeur en dur ...)
0
Utilisateur anonyme
 
bon aller, vu que je me fais mal noter par des personnes qui ne testent pas :



<?php ?><div id="mod_print_fiche">
<a href="javascript: void(0)" onclick="window.open('traitement_print_pdf.php?fiche_id=<?php echo '1';?>',
'Impression',
'width=800, height=600');
return false;" style="float: right;"> <img src="./modules/mod_print_fiche/images/icone-print.jpg"></a>
</div>




fonctionne trèèèès bien, avec la bonne redirection ouverte dans une popup.

mais bon, c'est sur que quand on veut echapper des caractère de javascript pour l'implémenter en php sans aucunes raisons (à si, compliqué le travail de celui qui reprendra l'appli et duposteur par la meme occasion)
0