IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupération de variables dans documents !


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Par défaut Récupération de variables dans documents !
    Bonjour à tous ,

    Un petit souci :

    J'ai une formulaire on ne peut plus simple, ou je récupére le nom, prénom et société.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <?php
    $color_font_warn="#FF0000";
    $color_form_warn="#FFCC66";
     
    if(isset($_POST['submit'])){
    	$erreur="";
    	// Nettoyage des entrées
    	while(list($var,$val)=each($_POST)){
    	if(!is_array($val)){
    		$$var=strip_tags($val);
    	}else{
    		while(list($arvar,$arval)=each($val)){
    				$$var[$arvar]=strip_tags($arval);
    			}
    		}
    	}
    	// Formatage des entrées
    	$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
    	$f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2)));
    	$f_3=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3)));
    	// Verification des champs
    	if($erreur==""){
    		// Création du message
    		$titre="Message de votre site";
    		$tete="From:Site@Test.com\n";
    		$corps.="Nom : ".$f_1."\n";
    		$corps.="Prenom : ".$f_2."\n";
    		$corps.="Societe : ".$f_3."\n";
    		if(mail("test@teggggggggggggst.com", $titre, stripslashes($corps), $tete)){
    			$ok_mail="true";
    		}else{
    			$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
    		}
    	}
    }
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Document sans titre</title>
    </head>
    <body>
    <? if($ok_mail=="true"){ ?>
    	<table width='100%' border='0' cellspacing='1' cellpadding='1'>
    		<tr><td><span class='txtform'>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</span></td></tr>
    		<tr><td>&nbsp;</td></tr>
    		<tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
    		<tr><td>&nbsp;</td></tr>
    		<tr><td><span class='txtform'>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.</span></td></tr>
            <tr><td> <a href="Generer.php"> Télécharger le document</a></td></tr>
            </table>
     
     
    <? }else{ ?>
    <form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
    <table width='100%' border='0' cellspacing='1' cellpadding='1'>
    <? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b>&nbsp;ERREUR, votre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?>
    <tr><td colspan='2'><span class='txterror'>Les champs marqué d'un * sont obligatoires</span></td></tr>
    <tr><td align='right' width='30%'><span class='txtform'>Nom :</span></td><td><input type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td></tr>
    <tr><td align='right' width='30%'><span class='txtform'>Prenom :</span></td><td><input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td></tr>
    <tr><td align='right' width='30%'><span class='txtform'>Societe :</span></td><td><input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0'></td></tr>
    <tr><td align='right' width='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'></td></tr>
    </table>
    </form>
    <? } ?>
    </body>
    </html>
    Une fois validé, je reste sur la meme page et affiche soit un message de réussite avec affichage des variables, soit un message d'erreur.

    En cas de réussite, j'affiche une url:
    <a href="Generer.php"> Télécharger le document</a>

    qui une fois cliquée, permet au client de télécharger un document dans lequel les infos du formulaires sont reprises.

    Mon probléme, C'est que cela me génére bien mon document rtf, que je peux ouvrir, mais les variables ne s'afichent pas !!!

    Dans generer.php:

    'FULLNAME' => $_POST["f_1"],
    'FULLADDRESS' => $_POST["f_2"],
    'PREFEREDCHOICE1' => $_POST["f_3"],

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?php
     
    $_POST['f_1']=$f_1;
    $_POST['f_2']=$f_2;
    $_POST['f_3']=$f_3;
     
    function populate_RTF($vars, $doc_file) {
     
            $replacements = array ('\\' => "\\\\",
                                   '{'  => "\{",
                                   '}'  => "\}");
     
            $document = file_get_contents($doc_file);
            if(!$document) {
                return false;
            }
     
            foreach($vars as $key=>$value) {
                $search = "%%".strtoupper($key)."%%";
     
                foreach($replacements as $orig => $replace) {
                    $value = str_replace($orig, $replace, $value);
                }
     
                $document = str_replace($search, $value, $document);
            }
     
            return $document;
        }
     
     
    $deadline = mktime(0,0,0,date('m'),date('d'), date('Y')); 
     
    $vars = array(
    'DATE' => date("F d, Y"),
    'FULLNAME' => $_POST["f_1"],
    'FULLADDRESS'  => $_POST["f_2"],
    'PREFEREDCHOICE1' => $_POST["f_3"],
    'PREFEREDCHOICE2' => 'GBE SARL',
    'PREFEREDCHOICE3' => 'TBC Incoporated',
    'RESPONDDATE' => date('F, d, Y', $deadline),
    'MCNAME' => 'CFA incorporated', 
    'MCADDRESS' => '227 East avenue',
    'MCCITY' => 'NEW YORK',
    'MCZIP' => '33222');
     
     
    $new_rtf = populate_RTF  ($vars, "mondocument.rtf");
    $fr = fopen('output.rtf', 'w') ;
    fwrite($fr, $new_rtf);
    fclose($fr);
     
    header('Content-type: application/rtf');
    header("Content-disposition: inline;filename=mondocument.rtf");
    header("Content-length: " . strlen($new_rtf));
    echo utf8_decode ($new_rtf);
    ?>
    Que passa ??????????????

    Merci d'avoir pris le temps de me lire !

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    et populate_RTF renvoie bien un chaine ???

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Par défaut le script fonctionne en dynamique
    J'ai le même code qui fonctionne et vas me chercher les infos en bdd, no probleme? Il me ressort tout correctement

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par gator Voir le message
    J'ai le même code qui fonctionne et vas me chercher les infos en bdd, no probleme? Il me ressort tout correctement
    ça répond pas à ma question.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Par défaut Besoin de conseils
    Vu que je tatouille , ma fonction marche puisqu'elle me renvoies toutes les autres variables renseignées, hormis celle que je dois récupérér en post, donc je vois pas bien ce que tu veux dire...

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par gator Voir le message
    Vu que je tatouille , ma fonction marche puisqu'elle me renvoies toutes les autres variables renseignées, hormis celle que je dois récupérér en post, donc je vois pas bien ce que tu veux dire...
    fais

    en enlevant les headers bien sur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupération valeur variable dans autre module
    Par cchampion2fr dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/10/2008, 16h53
  2. Récupération de variable dans une url
    Par knolz dans le forum Langage
    Réponses: 6
    Dernier message: 18/04/2008, 19h45
  3. Récupération de variable dans titre état ?
    Par leeloo35 dans le forum IHM
    Réponses: 6
    Dernier message: 18/02/2008, 12h29
  4. Récupération de variable dans un champ input
    Par AUTREPAPOU dans le forum Langage
    Réponses: 2
    Dernier message: 03/11/2007, 11h09
  5. Récupération de variable dans un Formulaire
    Par dunbar dans le forum Langage
    Réponses: 5
    Dernier message: 30/11/2006, 20h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo