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:
index.php:
<?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:
<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)
<?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
HP/' . 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 minuets ou secondes pour certains à mon souci.
miu2rennes
Modifié par miu2rennes (24 Mar 2010 - 14:03)
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:
index.php:
<?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:
<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)
<?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

$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 minuets ou secondes pour certains à mon souci.
miu2rennes
Modifié par miu2rennes (24 Mar 2010 - 14:03)