[js-php][résolu]du php vers javascript

  • Auteur de la discussion pere_fouettard
  • Date de début

pere_fouettard

Nouveau membre
Salut,
voila je voudrais pré-afficher du texte dans une iframe mais le problème vient du fait que je n'arrive pas à faire passer un variable php vers un variable javascript.
Si vous avez des solutions, je suis preneur. :merci:
<?php
connexion à la base
je recupère le texte
$var=$contenu;
echo "<script language='javascript'> ";
echo "barre('$var');"; //c'est ici que ca bug
echo "ini();";
echo "</script>";
?>
 

Johan_et_Pirlouit

Grand Maître
Je n'ai pas de soluces, mais si tu mets ton code dans les balises
Code:
 prévues à cet effet, ce sera bien mieux ;)..

:jap:
 

pere_fouettard

Nouveau membre
ok voila le code.
Code:
...
<head>
<script language='javascript'>
function barre(contenu) { 
document.writeln('<iframe id="richTexte">');
document.writeln('</iframe>');
document.writeln('<textarea name="contenu" id="editeur_content">');
document.writeln(''+contenu+''); 
document.writeln('</textarea>');
}
function ini{
  initi = window.frames['richTexte'].document;
  if(initi.designMode != 'On') {
     initi.designMode = 'On';
  }
    if(!initi.body) {
       setTimeout('ini()',20);
    } 
      else {
        initi.body.innerhtml = document.getElementById('editeur').value;
       }
}
</script>
</head>
<body>
<form action="" method="post">
<?php 
if(connnexion) {
$db=mysql_select_db($base);
$req="select ..,..,contenu from base";
$ret=msyql_query($req);
$val=mysql_fetch_row($ret);
$contenu=$val[3];
$contenu=str_replace("'","\'",$contenu);
mysql_close(connexion);
}

echo "<div>";
echo "<script language='javascript'> ";
echo "barre('$contenu');";//c'est ici que ca bug
echo "ini();";
echo "</script>";
echo "</div>";
?>
</form>
</body>
tu as oublier un point virgule a la fin de la ligne au dessus :o
Ca c une erreur de frapper de ma part, c'est pas la peine de sortir le fouet. Pas foueter, pas foueter :D . Et puis c'est qui le pere fouettard ici,hein :sol:

Edit -> voila c'est corrigé
 

Johan_et_Pirlouit

Grand Maître
ok voila le code.
Code:
echo "<div><span>";
echo "<script language='javascript'> ";
echo "barre('$var');";//c'est ici que ca bug
echo "ini();";
echo "</script>";
echo "</div></span>"; // !!! ERREUR !!!
?>
</form></body>
Oh l'erreur -> <div><span> puis </div></span> !! Tu ne vois rien qui te gène ?? L'enchevêtrement des balises est interdit en HTML ;).. Remets tes fermetures de balises dans le bon sens et tu auras déjà un pb de moins à traîter :).. Surtout que je ne vois pas ici l'utilité de <span>..

Sinon, ta variable $var est définie où ?? Je vois bien $db, $req, $ret, $val et $contenu, mais pas $var [:spamafote].....

:merci:
 

pere_fouettard

Nouveau membre
L'erreur provient bien du passage en parametre.
Apparement, on peut passer du texte dans ce type de variable. J'ai essayé avec un tableau mais ca m'affiche un gros array.
 

pere_fouettard

Nouveau membre
voila j'ai pu résoudre le problème. Apparement, c'était moins compliqué que je ne l'ai imaginé. J'ai contourné le problème en passant par un div. Ensuite il suffit de recupérer le div avec getElementById. Voila le code pour ceux qui sont intéressés.
Code:
...
<head>
<script language='javascript'>
function barre() {
var contenu = document.getElementById('chmps').innerHTML; 
document.writeln('<iframe id="richTexte">');
document.writeln('</iframe>');
document.writeln('<textarea name="contenu" id="editeur">');
document.writeln(''+contenu+''); 
document.writeln('</textarea>');
}
function ini{
  initi = window.frames['richTexte'].document;
  if(initi.designMode != 'On') {
     initi.designMode = 'On';
  }
    if(!initi.body) {
       setTimeout('ini()',20);
    } 
      else {
        initi.body.innerhtml = document.getElementById('editeur').value;
       }
}
</script>
</head>
<body>
<form action="" method="post">
<?php 
if(connnexion) {
$db=mysql_select_db($base);
$req="select ..,..,contenu from base";
$ret=msyql_query($req);
$val=mysql_fetch_row($ret);
$contenu=$val[3];
mysql_close(connexion);
}

echo "<div id=\"chmps\" style=\"display:none;\">";
echo "$contenu";
echo "</div>";

echo "<script language='javascript'> ";
echo "barre();";
echo "ini();";
echo "</script>";
?>
</form>
</body>
 

pere_fouettard

Nouveau membre
Ce script est censé recupérer d'une base de donnée du texte et pourvoir par la suite y effectué des modifications. En fait au départ, je voulais m'entrainer à faire un cms, mettre le temps en gras, des images, etc... .
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 158
Messages
6 718 521
Membres
1 586 443
Dernier membre
iso3god
Partager cette page
Haut