Passer une grosse variable en paramètre

Fermé
Julie - 13 nov. 2006 à 17:52
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 - 15 nov. 2006 à 17:49
Bonsoir tout le monde !!

Voilà, j'ai une variable javascript comprennant un énorme bout de code html du style :

mavariable += '<b>Début du code html...</b>;

Quand je clic sur un bouton, le navigateur ouvre un popup créé avec l'html contenue dans la variable.

Le problème est que la variable ne passe pas en entier entre ma première page et ma page popup car trop grosse...

window.open("popup.php?msg="+html3);


Savez-vous comment je peux faire ?? Avez-vous une autre solution pour afficher mon code dans le popup ?

D'avance un grand merci et très bonne soirée !!
A voir également:

5 réponses

ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
13 nov. 2006 à 18:02
Bonjour,

tu peux utiliser les sessions ou utiliser plusieurs variables
0
Merci de ta réponse !

Je me suis renseigné sur le net pour l'utilisation des sessions, j'ai donc fait un :

<?
session_register("msg");
?>


Mais après, comment attribuer le contenu de ma variable javascript à la varibale de session, car le javascript s'execute après le php, non ?
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
13 nov. 2006 à 18:27
Oui le java script s'exécute après php, mais il y a un moyen pour passer une variable java script en php:

il faut mettre la variable java script dans un formulaire HTML ne contenant qu'un champ caché par exemple
et le changement de page se fait par validation du formulaire
Ainsi sur la page qui réceptionne le formulaire tu peux mettre en session ton texte
0
Ho lala... Là ça devient très compliqué pour moi...

Voilà ce que j'ai créé grossièrement :

<head>
function Visualiser(){
maVariable = contient le contenu html que la popup doit executer
}
</head>

<html>
 <FORM ACTION='popup.php' METHOD='GET' TARGET='_self' NAME='formulaire' ENCTYPE='multipart/form-data'>
 <input name="Visualiser " type="submit" id="Envoyer "  value="Envoyer" onClick="Visualiser();" >
 
 </form>
</html>


Et là après je sais pas du tout quoi faire, ni si je suis partie dans la bonne direction...
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
14 nov. 2006 à 13:00
bonjour,

il faut ajouter le champ caché dans le formulaire et
document.forms.formulaire.texte.value = maVariable;
dans la fonction javascript
<head>
function Visualiser(){
maVariable = contient le contenu html que la popup doit executer
document.forms.formulaire.texte.value = maVariable;
return true;
}
</head>

<html>
 <FORM ACTION='popup.php' METHOD='GET' TARGET='_self' NAME='formulaire' ENCTYPE='multipart/form-data' onSubmit="Javascript:Visualiser()">
<input type="hidden" name="texte">
 <input name="Visualiser " type="submit" id="Envoyer "  value="Envoyer"  >
 
 </form>
</html>


Pour ce code, tu es obliger de cliquer sur le bouton pour visualiser le contenu. Il est également possible de soumettre automatiquement le formulaire :


<head>
function Visualiser(){
maVariable = contient le contenu html que la popup doit executer
document.forms.formulaire.texte.value = maVariable;
document.forms.formulaire.submit();
}
</head>

<html>
 <FORM ACTION='popup.php' METHOD='GET' TARGET='_self' NAME='formulaire' ENCTYPE='multipart/form-data' >
<input type="hidden" name="texte"> 
 </form>
<script type="text/javascript">
Visualiser();
</script>
</html>
0
Salut Ceddec et merci infiniment pour tout le temps que tu passes à m'aider.

Donc, j'ai utiliser ta première méthode et mis ce code dans mon popup.php, mais il me sort une page blanche le bougre !!

$msg = $_GET['formulaire'];

echo $msg;


C'est bien 'formulaire' qu'il fallait appeler, non ?
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
14 nov. 2006 à 17:24
Non c'est texte
Voici un recapitulatif qui fonctionne :

Récuperation du formulaire et lien pour ouvrir la popup
<html>
<head>
<script type="text/javascript">
function Visualiser(){
maVariable ="contient le contenu html que la popup doit executer";
document.forms.formulaire.texte.value = maVariable;
return true;
}
</script>
</head>
<body>

 <FORM ACTION='popup.php' METHOD='GET' TARGET='_self' NAME='formulaire' ENCTYPE='multipart/form-data' onSubmit="Javascript:Visualiser()">
<input type="hidden" name="texte">
 <input name="Visualiser " type="submit" id="Envoyer "  value="Envoyer"  >
 
 </form>
 </body>
</html>



et la popup :
<?php
echo $_GET['texte'];
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
La variable passe bien d'une page à l'autre, mais je rencontre toujours le même problème, quand je met "toto" dans maVariable c'est nickel, mais dés que je mets tout le code HTML dans maVariable là sa déconne un max, car la chaine est trop longue...

Après des recherches sur le net j'ai fait un :

session_start();

dans mon premier fichier, puis un :

echo $_SESSION['texte'];

dans mon popup.php, mais ça marche toujours pas...
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
15 nov. 2006 à 17:49
Dans ce cas, il faudrait utiliser plusieurs variables.
Le principe est toujours le même, sauf que tu as plusieurs champs dans le formulaire
0