récupération données formulaire

Petit nouveau ! | 2 Messages

12 août 2007, 14:12

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

12 août 2007, 14:37

Bonjour,

Essaye de remplacer $HTTP_GET_VARS['...'] par $_GET['...']
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 2 Messages

12 août 2007, 14:42

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.

d0m
Mammouth du PHP | 1141 Messages

13 août 2007, 08:16

Essaye de remplacer $HTTP_GET_VARS['...'] par $_GET['...']
plutôt le remplacer par $_POST['...'] puisque la méthode du formulaire est POST.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 août 2007, 08:30

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 ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

d0m
Mammouth du PHP | 1141 Messages

13 août 2007, 08:45

C'est ce qu'il a fait d'après son dernier code ;)
:oops: pas vu