[Résolu] URL dans mail reçu d'un formulaire

Eléphanteau du PHP | 13 Messages

27 févr. 2006, 21:14

Bonjour,

J'aimerais insérer l'URL d'ou proviennent les visiteurs lorsqu'ils ont
rempli un formulaire.
J'ai des centaines de pages, avec chaque fois un formulaire ... le seul
moyen de savoir depuis quelle page les gens ont rempli le formulaire en question est d'y placer l'URL.
J'ai trouvé ce bout de script :

Code : Tout sélectionner

<? function url_actuelle() { return "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; } echo "L'URL actuellement affichée dans votre barre d'adresse est la suivante : " . url_actuelle(); ?>
J'ai bien inclus la fonction dans mon code PHP.
Le problème est que je n'arrive pas à y insérer l'echo.
Dans mon formulaire PHP, j'ai ceci (par exemple) :

$msg="Formulaire site Web :

Titre : $titre
Nom et prenom : $nometpren
Adresse : $adres
Code postal : $codepostal
Localite; : $locali
Pays : $pays;

Ma question est : comment mettre un echo dans un liste de variables étant
donné que
j'ai url_actuelle() et $pays
Merci d'avance de votre aide.

Dominique,
Modifié en dernier par dom1706 le 28 févr. 2006, 10:47, modifié 1 fois.

Mammouth du PHP | 768 Messages

27 févr. 2006, 21:21

utilises la superglobale $_SERVER['HTTP_REFERER'] pour connaître la provenance du visiteur.
avant le traitement de ton formulaire, fait un simple
echo $_SERVER['HTTP_REFERER']; 
pour savoir si ça te convient :)
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphanteau du PHP | 13 Messages

27 févr. 2006, 21:43

Bonjour Mario et merci de ta réponse rapide.

Je me suis peut-être (et sûrement mal exprimé).
Je ne désire pas savoir par quelle URL les visiteurs sont arrivés sur mon site mais bien connaitre l'URL complète sur laquelle ils sont (donc sur mon site) pendant qu'ils remplissent le formulaire.

Je suppose que je dois alors jouer avec : $_SERVER["REQUEST_URI"] ?

Puis-je dès lors mettre simplement (sans appel de fonction) :
$msg="Formulaire site Web :

Titre : $titre
Nom et prenom : $nometpren
Adresse : $adres
Code postal : $codepostal
Localite; : $locali
Pays : $pays
Telephone : $telephone
Fax : $fax
E-mail : $email
Societe : $socie
Activite : $activi
Demande : $remcom
Bien : $bi
URL : $_SERVER["REQUEST_URL"]";
J'ai essayé mais cela donne une page blanche.
Où serait mon erreur ?

PS : au fait, c'est $_SERVER["REQUEST_URL"] ou bien $_SERVER["REQUEST_URI"] ?
Merci encore.
Dominique,

Eléphanteau du PHP | 13 Messages

27 févr. 2006, 23:09

rebonsoir,

Jj'ai essayé à nouveau en remettant l'appel de la fonction mais rien n'y fait ...
Quelqu'un entrevoit-il une solution ?

Bonne soirée.
Dominique,

Mammouth du PHP | 19672 Messages

28 févr. 2006, 00:13

Peut-être bien qu'avec des concaténations de chaine propre ça fonctionnerait mieux ?
$msg="Formulaire site Web :\n
\n
Titre : ". $titre ."\n
Nom et prenom : ". $nometpren ."\n
Adresse : ". $adres ."\n
Code postal : ". $codepostal ."\n
Localite; : ". $locali ."\n
Pays : ". $pays ."\n
Telephone : ". $telephone ."\n
Fax : ". $fax ."\n
E-mail : ". $email ."\n
Societe : ". $socie ."\n
Activite : ". $activi ."\n
Demande : ". $remcom ."\n
Bien : ". $bi ."\n
URL : ". $_SERVER['REQUEST_URL'] ."\n";
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

28 févr. 2006, 09:35

Bonjour et merci à Cyrano.

J'ai maintenant des interlignes doubles dans l'e-mail entre les champs.
Avant, donc sans les \n, les lignes se suivaient sans interlignes et cela était plus visible ...

Mais je n'ai toujours rien d'affiché après URL (venant de [URL : ". $_SERVER['REQUEST_URL'] ."\n"; ])

Dois-je faire quelque chose de plus que d'afficher URL : ". $_SERVER['REQUEST_URL'] ."\n"; dans le formulaire php ??

Dois-je mettre une fonction et, si oui, dois-je la mettre dans le formulaire php ou déjà avant dans la page html où le visiteur se trouve avant de cliquer sur 'soumettre' ?

Merci d'avance de votre aide et bonne journée.

Dominique,

Mammouth du PHP | 19672 Messages

28 févr. 2006, 09:43

Vérifie donc dans ton phpinfo si l'index REQUEST_URL existe et si tu ne devrais pas mettre à la place REQUEST_URI
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

28 févr. 2006, 09:56

Bonjour et merci encore Cyrano,

Dans mon 3ème post de ce message, je demandais déjà si c'était URL ou URI ... c'était donc bien URI.

Il m'affiche bien l'URL maintenant ... mais de mon formulaire (URL : /formulaire.php) et non de la page du site d'où le visiteur se trouve avant de cliquer sur 'envoi' :(

Je dois certainement faire quelque chose dans cette fameuse page html dans laquelle est insérée ce formulaire.

Merci et bonne journée (neigeuse).

Dominique,

Mammouth du PHP | 768 Messages

28 févr. 2006, 10:13

utilises la superglobale $_SERVER['HTTP_REFERER'] pour connaître la provenance du visiteur.
je pensais avoir donné la solution :?
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphanteau du PHP | 13 Messages

28 févr. 2006, 10:45

Bonjour mario,

En effet, tu avais donné la réponse et, honte à moi, je croyais m'être mal exprimé :oops: donc je n'avais pas tenu compte de la piste que tu me donnais.

Ta réponse correspond tout à fait à ce que je désirais.
Je mets donc [résolu] et un grand grand merci!!!

Bonne journée.

Dominique,