Page 1 sur 1

récupération données formulaire

Posté : 12 août 2007, 14:12
par ludo.w
Bonjour à tous,

J'utilise une formulaire html ainsi qu'un script php pour récupérer les infos dans ma boîte mail. Le problème est que je reçois bien le mail mais les champs restent vide. J'ai l'intitulé du formulaire (nom : ) mais pas la zone complétée par l'utilisateur.

Côté HTML :

Code : Tout sélectionner

<form action= "envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire" onsubmit="return VerifMail();"> <label for="nom">Name :</label><br/> <input type="text" name="nom" size="18" maxlength="25" tabindex="1"> <label for="prenom">Surname :</label><br/> <br/><input type="text" name="prenom" size="18" maxlength="25" tabindex="2"> <label for="mail">e-Mail adress :</label> <input type="text" name="mail" size="18" maxlength="25" tabindex="3"> <select tabindex="4" name="sujet" size="1"> <option value="Ante-Rasa ¦ infos">infos</option> <option value="Ante-Rasa ¦ webmaster">webmaster/technic</option> <option value="Ante-Rasa ¦ demo">demo</option> </select> <label for="message">Comment :</label> <textarea name="message" cols="25" rows="4" tabindex="7"></textarea><br/><br/> <input type="submit" value="Send" name="envoyer" tabindex="8"> </form>

PHP

Code : Tout sélectionner

<?php $nom=$HTTP_GET_VARS['nom']; $prenom=$HTTP_GET_VARS['prenom']; $mail=$HTTP_GET_VARS['mail']; $sujet=$HTTP_GET_VARS['sujet']; $message=$HTTP_GET_VARS['message']; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $headers .= "From: $prenom $nom <$nom>\r\nReply-to : $nom <$destinataire>\nX-Mailer:PHP"; $subject = $sujet; $destinataire="[email protected]"; $body= "nom : $nom\n prénom : $prenom\n mail : $mail\n message : $message\n"; if (mail($destinataire,$subject,$body,$headers)) { echo "ok"; } else { echo "erreur"; } ?>
Quelqu'un peut-il m'aider ?

Merci.

Posté : 12 août 2007, 14:37
par @rthur
Bonjour,

Essaye de remplacer $HTTP_GET_VARS['...'] par $_GET['...']

Posté : 12 août 2007, 14:42
par ludo.w
Bonjour,

Essaye de remplacer $HTTP_GET_VARS['...'] par $_GET['...']

Code : Tout sélectionner

<?php $nom=$_POST['nom']; $prenom=$_POST['prenom']; $mail=$_POST['mail']; $sujet=$_POST['sujet']; $message=$_POST['message']; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $headers .= "From: $prenom $nom <$nom>\r\nReply-to : $nom <$destinataire>\nX-Mailer:PHP"; $subject = $sujet; $destinataire="[email protected]"; $body= " nom : $nom\n prénom : $prenom\n mail : $mail\n message : $message\n "; if (mail($destinataire,$subject,$body,$headers)) { echo "ok"; } else { echo "erreur"; } ?>

Je n'ai tjs aucun résultat. j'ai oublié de préciser que j'héberge le formulaire sur un 20gp de chez OVH et le script est sur un autre serveur, un 60gp (accepte le php). Je ne sais pas si ça peux influencer le fonctionnement du script.

Posté : 13 août 2007, 08:16
par d0m
Essaye de remplacer $HTTP_GET_VARS['...'] par $_GET['...']
plutôt le remplacer par $_POST['...'] puisque la méthode du formulaire est POST.

Posté : 13 août 2007, 08:30
par Ryle
C'est ce qu'il a fait d'après son dernier code ;)


As-tu essayé d'afficher les variables avant l'envoi du mail pour vérfier que les valeurs étaient bien récupérées ? que donne un print_r($_POST) ?


Par contre je ne comprends pas bien.. quand tu dis que le script php est sur un autre serveur.. tu es sur qu'il fait bien le lien entre le script "envoi.php" que tu appelles dans ton formulaire (et qui devrait donc se trouver dans le même répertoire) avec celui de ton autre serveur ?

Posté : 13 août 2007, 08:45
par d0m
C'est ce qu'il a fait d'après son dernier code ;)
:oops: pas vu