Problème réception données d'un formulaire de contact

cs_lennynero58 Messages postés 12 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 9 octobre 2009 - 8 oct. 2009 à 19:00
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 9 oct. 2009 à 21:32
lennynero58
Bonjour à tous. Voilà j'ai mis un formulaire en ligne sur mon site qui fontionne très bien mais une seule chose me manque:
Je ne récupère pas tous les champs, il me manque le prénom et l'adresse?
voici le code que j'utilise pour l'envoi : (merci de votre aide)
======================================================
<?php
$nom=$HTTP_POST_VARS['nom'];
$prenom=$HTTP_POST_VARS['prenom'];
$adresse=$HTTP_POST_VARS['adresse'];
$mail=$HTTP_POST_VARS['mail'];
$objet=$HTTP_POST_VARS['objet'];
$message=$HTTP_POST_VARS['message'];

/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";

//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";

////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="$objet";
$destinataire="contact@monsite.fr"; //remplacez "webmaster@votre-site.com" par votre adresse e-mail
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé
";
} else {
echo "Une erreur s'est produite";
}
?>


Vous allez bientôt être redirigé vers la page d'accueil

Si vous n'êtes pas redirigé au bout de 5 secondes cliquez ici




Voilà
je pense qu'il manque une variable

Cordialement

21 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
9 oct. 2009 à 21:32
il est temps que j'aille me coucher sans doute.

Oublie donc ça
Code PHP :
foreach($_post as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

=> $$index
=> $index sera toujours égal à la valeur du dernier champ du post
= > $index ne sert nul part


Ton code devrait fonctionner, même si mes autres remarques restent valables.
Par ailleurs tu aurais tout intérêt à sortir le trim et le stripslashes de la boucle foreach, ce qui te permettrait d'inclure le tableau $interets.

Je ne suis pas pour cette méthode (le foreach et l'utilisation des variables dynamiques) qui laisse à l'utilisateur la possibilité de nommer les variables comme il le souhaite (au final ça revient à un register_global à on) Il y a un gros risque de sécurité l à.
Pour ma part je préfère contrôler ces variables une à une via $_POST['trucmuche'] et appliquer les filtres correspondants (numéro de tel ? => doit satisfaire le masque regex qui va bien, date de naissance ? doit satisfaire l'autre masque regex qui va bien, etc ...)
Traiter l'ensemble des variables postées d'une manière uniforme est impossible sans alourdir considérablement le script.

Cordialement,




Kohntark -
0
Rejoignez-nous