Pb de réception des valeurs d'un formulaire dans boite mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb de réception des valeurs d'un formulaire dans boite mail

par Ryle » 29 oct. 2006, 16:30

Groumpf.... renvoi-nous ton dernier code, on va retourner y voir si on trouve quelque chose :)

par coxiflo » 29 oct. 2006, 15:06

alors c'est à devenir FOU

voilà que çà ne fonctionne plus à nouveau !

JE VAIS DEVENIR DINGUE!

par coxiflo » 27 oct. 2006, 16:47

Je repasserai plus tard ou demain
je dois récupéré ma fille à la garderie

par coxiflo » 27 oct. 2006, 16:38

ca marche avec ton code 1

je reçois mes données dans mon corps de texte de mail

cool, merci

c'était du à koi alors exactement?

par sadeq » 27 oct. 2006, 16:35

Moi je ne vois pas d'erreurs ni dans la façon de récupèrer les données ni dans la fonction mail et ce depuis ton premier post.

Mais ceci dit je pense que tu as une erreur de format/taille du message que tu transmet par mail car tu ne reçoit que la première ligne avant le "\n" il faut peut être fixer les paramètres "header" du message avant de lancer la fonction mail.
Voir pour cela comment fixer des header pour mail : http://fr3.php.net/manual/fr/function.mail.php

par Ryle » 27 oct. 2006, 16:35

ben le print r();
je l'ai déjà ds ma zone de debugg
Vi c'est vrai... mais faut pas m'en vouloir, ça m'arrive des fois de taper plus vite que je ne pense :)

Qui à dit "et pourtant il tape pas vite" ?!

par coxiflo » 27 oct. 2006, 16:30

ben le print r();

je l'ai déjà ds ma zone de debugg

[/quote]

par Ryle » 27 oct. 2006, 16:30

J'ai pas tout bien compris.. mais à priori, je dirais que tu as déjà le séquencement normal :
// affectation de la valeur de post à la variable si elle est définie (sinon utilise une valeur par défaut)
$genre = (isset ($_POST['genre'])) ? $_POST['genre'] : "" ;
...

// utilisation des variables définies plus haut
$message .= $genre . "\n"; 
...
Ca reste assez logique :)

1. Et si tu remplaces :
echo "Post défini : " . $_POST['genre'];
par
echo "Post défini : " . $genre;
??

2. Et si tu remplaces :
$message .= $genre . "\n";
par
$message = $message . $genre . "\n";

avec un echo $message ensuite bien entendu :)

par coxiflo » 27 oct. 2006, 16:27

ALORS

il me trouve bien

POST défini: mademoiselle

par coxiflo » 27 oct. 2006, 16:22

J'ai peut-être trouvé

mon code PHP est avant mon code qui me permet de récupérer la valeur des champs...

C'est peut-être la cause?

par Ryle » 27 oct. 2006, 16:17

Nope, javascript ne devrait pas impacter tes résultats, il se contente juste de vérifier que les champs sont bien renseignés avant d'envoyer le formulaire, mais ne change absolument pas leur valeurs... de toute façon elles apparaissent bien dans $_POST :)

Edit : Ok, donc le problème vient bien de l'affectation des valeurs qui ont l'air d'être vides...

Modifie ton premier test comme ceci :
if (isSet($_POST['genre'])){   
  $genre=$_POST['genre'];
  echo "Post défini : " . $_POST['genre'];
} 
else { 
  $genre="";
  echo "Post non défini";
}  
Qu'on sache par où est ce qu'il passe :)
(pis tu peux aussi ajouter un print_r($_POST); quelque part, ca sera ma prochaine question si ca donne rien ;))

par coxiflo » 27 oct. 2006, 16:17

Ryle

pour ta 1ère proposition: afficher $message
je n'ai que des tirets qui s'affichent ds mon mail.

par coxiflo » 27 oct. 2006, 16:11

est-ce que çà pourrait provenir des vérifications faites en javascript qui me permettent de définir des champs obligatoires par exemple ou d'obliger les visiteurs à renseigner un champs?

Je teste Ryle ce que tu m'as indiqué ....

par Ryle » 27 oct. 2006, 15:55

C'est un truc de fou cette histoire :shock:

Avant d'envoyer le mail affiche le $message pour voir comment il se rempli :
// envoi des données du formulaire par mail 
$message = "INFORMATIONS CONCERNANT LE DEMANDEUR : \n"; 
$message .= "- ".$genre; 

echo $message."<br>";

$message .= "- ".$nom1 . "\n"; 
$message .= "- ".$prenom1  . "\n"; 

echo $message."<br>";

$message .= "- ".$adres . "\n"; 
$message .= "- ".$codepost  . "\n"; 
$message .= "- ".$commune . "\n"; 
// ...

echo $message."<br>";
Quelque chose dans ce gout là... j'ai rajouté des tirets pour être sur que la concaténation se fasse bien..


Tu peux aussi vérifier le contenu de tes variables avant ? (juste 2 ou 3 pour essayer de savoir où est ce que ça commence à poser problème)
echo "Genre : ".$genre."<br>";
echo "Nom1 : ".$nom1."<br>";

par charabia » 27 oct. 2006, 15:54

Là en effet c'est bizarre. Essaies de faire un peu de nettoyage au sein de tes pages, laisses que le stricte minimum pour pouvoir repérer l'erreur.

Il y a peut-être quelque chose avant qui fait coincer.