Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: ju66 le le 21-08-2003 a 17:29:27

Titre: pb de passage de variable (globale ?)
Posté par: ju66 le le 21-08-2003 a 17:29:27

Bonjour a tous, je suis en stage et j'ai un big probleme.
Je dois faire un systeme de mail dynamique
J'ai un fichier php (index.php) qui contient l'habillage html ( comme un template) du mail a envoyer.
A l'interieur, j'ai des balises php pour inserer du texte dynamiquement comme ceci:
je dois faire ma requete de contenu de mail en fonction de $id_mail

<?
//-----------------------------------------
REQUIRE_ONCE('../../include/init.inc.php');
if (init_bdd() != 0){
   init_mail();   
}
echo "l'id du mail vaut ".$id_mail;
$mail_data=$mail->getMail($id_mail);
// extraction des champs dynamiques
$titre = stripslashes($cont_data["mail_data"]);
$texte = stripslashes($cont_data["mail_data"]);
//-----------------------------------------
?>
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head></head>
<body>
<?=$titre?>
<?=$texte?>
</body>
</html>

j'extrais les champs en fonction de la variable $id_mail


Dans un autre fichier, j'ai ma fonction qui extrait ma page "index.php" avec des fgets, met tout dans une variable $message et envoie le mail

//-----------------------------------------
(....)

$id_mail = 1;

$fp = fopen(index.php,"a");
while (!feof($fp)){
   $message .= fgets($fp,4096);
}
fclose($fp);

(...)
//-----------------------------------------



le probleme c'est que ca ne prend pas la variable $id_mail comme tel
($id_mail ne vaut rien dans index.php, ca m'affiche toujours "l'id du mail vaut ")

Après avoir essayé avec des variables globales,des sessions et autres solutions miracles cherchees sur google , je n'y arrive pas.
Si qq'un a ne serait ce q'une petite idée pour me mettre sur la voie , ca me sauverait la vie, j'y ai passé la journée déja et je galere toujours.

En esperant avoir eté assez clair dans ma question
Merci d'avance.

Titre: Re:pb de passage de variable (globale ?)
Posté par: pockels le le 21-08-2003 a 17:42:50

tu veux envoyer un mail et dans celui-ci tu veux que $id_mail s'affiche ???

Titre: Re:pb de passage de variable (globale ?)
Posté par: ju66 le le 21-08-2003 a 18:20:29

non l'affichage de l'id c'est pour moi pour tester
pour voir si la variable arrive bien dans index.php
le pb je n'arrive pas a envoyer ma variable dans index.php

Titre: Re:pb de passage de variable (globale ?)
Posté par: pockels le le 21-08-2003 a 18:28:25

va voir sur http://www.az-php.com
si tu veux faire passer une variable d'une page a une autre, il y a par l'url ( c'est tres simple ) ou le cookie.
comme je vois pas tres bien ou se situe ton probleme je te met pas de solution mais juste te renvoyer sur az-php.
++

Titre: Re:pb de passage de variable (globale ?)
Posté par: julielenode le le 27-08-2003 a 18:11:18

Salut,


Si j'ai bien compris, tu as 2 pages:
index.php: qui contient le formatage du mail à envoyer
extraction.php: qui contient le code pour formatter avec les variables php, ton mail dans $message (extraction.php est un nom de mon initiative)

En faisant comme celà, tu ne passeras aucune variables, globales ou pas.

Je te conseille ceci:
index.php:
******************************************
<?
//-----------------------------------------
REQUIRE_ONCE('../../include/init.inc.php');
if (init_bdd() != 0){
init_mail();
}
echo "l'id du mail vaut ".$id_mail;
$mail_data=$mail->getMail($id_mail);
// extraction des champs dynamiques
$titre = stripslashes($cont_data["mail_data"]);
$texte = stripslashes($cont_data["mail_data"]);
//-----------------------------------------

$formatage_email="<!doctype html public \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head></head>
<body>
$titre
$texte
</body>
</html>
";

?>
*************************************
et dans le fichier 'extracteur.php'
*************************************
(....)

$id_mail = 1;

include("index.php")

$message=$formatage_email;

$fp = fopen(index.php,"a");
while (!feof($fp)){
$message .= fgets($fp,4096);
}
fclose($fp);

(...)

*************************************
Voilà, ce que je pense être de meilleur pour ton problème.
Dans l'espoir d'avoir éclairé ta lanterne.

@+



Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.