pbm fomulaire

lauretflo
Invité n'ayant pas de compte PHPfrance

22 sept. 2009, 00:20

slt,
J'ai un soucis dans ma page en php pour le traitement des données à envoyer. Cela fait 1 semaine que je cherche et je ne trouve pas la source de mes ennuis. impossible d'envoyer les données de mon formulaire sur ma boite mail. Apparemment, le navigateur signale un probleme en fin de code vers $entete="From.... mais je soupçonne que le probleme est en amont. non? Voici le code:
<?php
if(isset($_POST) && isset ($_POST['marque']) && isset ($_POST['modele'])&& isset ($_POST['carburant']) && isset ($_POST['carrosserie'])){
extract($_POST);
if(!empty($marque) && !empty($modele) && !empty($carburant)){
$message=str_Replace("\'","'",$message);
$destinataire="[email protected]";
$sujet="Commande via mon site";
$message="Une nouvelle commande est arrivée ! \n
Marque : $marque \n
modèle : $modele \n
Carburant : $carburant \n
Carrosserie : $carrosserie \n
Transmission : $transmission \n
Année entre : $anneemini \n et $anneemaxi \n
Kilométrage entre : $kmmini \n et $kmmaxi \n
Puissance entre : $puissancemini \n et $puissancemaxi \n
Prix entre : $prixmini \n et $prixmaxi \n
Equipement de confort : $choixa \n $choixb \n $choixc \n $choixd \n $choixe \n $choixf \n $choixg \n $choixh \n $choixi
Coloris : $choixj \n $choixk \n $choixl \n $choixm \n $choixn \n $choixo \n $choixp \n $choixq \n $choixr \n $choixs \n $modelea \n
Date acquisition :  $choixt \n  $modeleb \n  
                    $choixu \n  $modelec \n
					$choiv \n

$entete="From: $modele \n Reply-To $mail";
}
else{
echo"Vous n'avez pas rempli tous les champs.";
}

Header("Location: http://www.monsite.com/remerciements.htm");
}
?>

Mammouth du PHP | 985 Messages

22 sept. 2009, 00:46

Pense a mettre ton script entre les balises Php, cela sera plus simplifiera la lisibilité de ton script.

Plusieurs erreurs dans ton script -> qui causent les messages d'erreurs.
Exemple:
Ta variable $message doit se terminer par ";
Dans ton script elle commence par $message=" mais aucun "; pour la terminer.

Ensuite l'absence de la fonction mail() pour tout simplement envoyer ton mail.
C'est justement cette fonction qui permet d'envoyer un mail en php.

Pour les variables:
http://www.commentcamarche.net/contents/php/phpvar.php3

Pour la fonction mail():
http://fr2.php.net/manual/fr/function.mail.php
(regarde aussi les exemples dans la page)
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 sept. 2009, 08:37

Modération :
Afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

lauretflo
Invité n'ayant pas de compte PHPfrance

22 sept. 2009, 20:59

merci pour ta réponse. En fait, le second " est placé après $choiv \n. c'est à dire $choixv \n" ....j'ai oublié de le mettre dans le post. Donc l'erreur ne semble pas venir de là. Peut etre de la fonction mail. Pourtant il me semble l'avoir mise. Tu aurais mis quoi à la fin du code ?

Invité
Invité n'ayant pas de compte PHPfrance

22 sept. 2009, 21:16

Le probleme peut-il venir de ma page html sur laquelle les données sont inscrites ?

Mammouth du PHP | 985 Messages

23 sept. 2009, 00:39

Je ne voie aucune fonction mail() dans ton script.
As-tu regardé les liens que je t'ai donné, notamment celui de la fonction mail() ?
Personnellement, sans le manuel php.net, je serais perdu très souvent...

Ps: Tu devrais ajouter des isset() avec au minimum toutes les variables importantes de ton script.
Cela te permettra aussi de vérifier si des variables restent indéfinies...
Et ainsi ensuite t'aider des erreurs de type Notice pour le debug...
Ce qui est pour le moment pas vraiment possible vue le nombres d'erreurs qu'il doit y avoir.


http://fr.php.net/manual/fr/function.mail.php

http://fr2.php.net/isset

http://us2.php.net/manual/fr/function.e ... orting.php
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.