Transmission de variables par la méthode POST

miu2rennes
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Inscription: 4 Nov 2009

Transmission de variables par la méthode POST

Message le Mer Mar 24, 2010 15:11

Bonjour,

Je suis bloqué sur une transmission de variables php. Voici la logique de ma demande: Quand un client laisse un message ou une reservation sur mon formulaire de contact je voudrais savoir de quel moteur de recherche il provient. J'ai déjà un petit programme qui tourne sur ma page index.php pour savoir d'ou il provient et je voudrais recuperer une des variables (dans formulaire-contact.php) pour la transmettre en meme temps que les informations envoyés par le formulaire de contact(infos envoyées par cible.php). Suis-je clair?
En bref, il a y a pages concernées: index (d'ou je veux recuperer une variable), formulaire-contact.php (la ou je veux integrer ma variable) et cible.php qui est la page s'occupant d'envoyer le mail.

Mon soucis est je ne recupère pas ma variable nommée urlReferer avec mon $_POST['urlReferer']. Le résultat est toujours: "Pas de donnees sur la provenance du visiteur"

Est-ce que quelqu'un voit ou le probleme se situe, est-ce que ca pourrait venir du chemin (action="../voyage-maroc/formulaire-contact.php") du formulaire (hidden) de index.php?

Voici les extraits de codes, ou sinon directement : http://www.mohatravel.com/voyage-maroc/circuit-maroc-4x4.php:

index.php:
Code: Tout sélectionner
<?php
$vraieip = getenv("HTTP_X_FORWARDED_FOR");
$urlReferer = $_SERVER['HTTP_REFERER'];
$id_timestamp= time();
$annee=date("Y");
$mois=date("m");
$jour=date("d");
$heure=date("H");
$minute=date("i");
$seconde=date("s");
///////////////////////////////////////////////////
// Fonctions- Méthodes.
///////////////////////////////////////////////////
/* Récupération Host et IP */
if ($vraieip=="") { $vraieip = $REMOTE_ADDR;}

if (getenv('REMOTE_ADDR') != "")
   {
       $host = @GetHostByAddr(getenv('REMOTE_ADDR'));
    }
   else
      {
             $host = @GetHostByAddr($_SERVER['REMOTE_ADDR']);
         }
?>
<form id="envoi_stats" method="post" action="./voyage-maroc/formulaire-contact.php">
<input type="hidden" name="urlReferer" id="urlReferer" value="<?php echo $urlReferer; ?>" />
</form>



formulaire-contact.php:
Code: Tout sélectionner
<tr>
<td>

<?php
$vraieip = getenv("HTTP_X_FORWARDED_FOR");
$urlReferer = $_POST['urlReferer'];
$navig = $_SERVER["HTTP_USER_AGENT"];
$id_timestamp= time();
$annee=date("Y");
$mois=date("m");
$jour=date("d");
$heure=date("H");
$minute=date("i");
$seconde=date("s");

if (isset($urlReferer) || (empty($urlReferer)) || ($urlReferer=="")) {$urlReferer = "Pas de donnees sur la provenance du visiteur";}
                     
/* Récupération Host et IP */
if ($vraieip=="") { $vraieip = $REMOTE_ADDR;}
               
if (getenv('REMOTE_ADDR') != "")
{
$host = @GetHostByAddr(getenv('REMOTE_ADDR'));
}
else
{                        
$host = @GetHostByAddr($_SERVER['REMOTE_ADDR']);
}
$visites = "Visite de $host le $jour/$mois/$annee a $heure:$minute:$seconde, le visiteur vient de :$urlReferer avec $navig";
?>

</td>
<td><input type="hidden" name="visites" id="visites" value="<?php echo $visites; ?>" />
</td>
</tr>



cible.php: (celui-ci fonctionne bien)
Code: Tout sélectionner
<?php
$mail_entete = "MIME-Version: 1.0\r\n";  // Ca ces les en tetes de ta fonction mail, ca sert  a donner le type de messages que tu transporte en locurence du texte simple
      $mail_entete .= "From: {$_POST['nom']} "
                  ."<postmaster@mohatravel.com>\r\n";
      $mail_entete .= "Reply-To: postmaster@mohatravel.com\r\n";
      $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
      $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
      $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";


      $var = 'Nom: ' . $_POST['nom']."\r\n";   // C'est le contenu du message
      $var .= ' Prenom: ' . $_POST['prenom']."\r\n\r\n";
      $var .= ' E-mail: ' . $_POST['email']."\r\n";
      $var .= ' Télephone: ' . $_POST['telephone']."\r\n\r\n";
      $var .= ' Adresse: ' . $_POST['adresse']."\r\n";
      $var .= ' Ville: ' . $_POST['ville']."\r\n\r\n";
      $var .= ' Circuit choisi: ' . $_POST['circuits']."\r\n";
      $var .= ' Véhicule choisi: ' . $_POST['vehicules']."\r\n";
      $var .= ' Nb personnes: ' . $_POST['nb_personnes']."\r\n\r\n";
      $var .= ' Commentaires: ' . $_POST['commentaires']."\r\n\r\n";
      $var .= ' Provenance des Reservations: ' ."\r\n". $_POST['visites']."\r\n\r\n";
      
      
      if ($_POST['nom'] == "" OR $_POST['prenom'] == "" OR $_POST['email'] == "") { // si les champs suivants sont vides , on affiche  le texte suivant sur la page en demandant de cliquer sur formulaire pour y revenir
?>

   
     
        <p>Erreur d'envoi du mail.</p>
<?php   
      } else {
                     
         $res_mail=mail("postmaster@mohatravel.com", "Reservation CLIENT INTERNET", "$var", "$mail_entete" );  // Fonction d'envoi du mail, tu peut augmenter le nom de variables a envoyer et le nom, ici Reservation Internet
?>


Merci d'avance de consacrer quelques minutes ou secondes pour certains à mon souci.

miu2rennes

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité