Formulaire vide de temps en temps

jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014 - 14 sept. 2010 à 10:41
Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 - 14 sept. 2010 à 11:41
Bonjour,

Cela me prend le chou depuis plusieurs semaines.
Tantôt, je reçois des messages venant d'unsite.
Tantôt, je reçois des messages vides.
pourquoi? J'en sais rien...
J'ai fait essayé le remplissage de ce formulaire
sur pc et sur mac et sur ipad.
Pouvez_vous m'aider à y voir plus clair???

Est-ce un problème avec javascript sur certaines machines ?
Est-ce un problème avec les machines tournat sous linux?
J'en sais plus rien du tout...

D'avance, je vous remercie pour le temps
que vous allez passer à m'aider. Merci.

La validation des réponses au formulaire est gérées
par le fameux "gen_validatorv31.js". Ce fichier est sur le serveur
dans le dossier "Scripts" (qui se trouve à la racine du site).

L'envoi du mail est géré par mon programme "traitement.php"
dont voici le code :
<?php
date_default_timezone_set('Europe/Brussels');
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$mois = array("","Janvier",utf8_encode("Février"),"Mars","Avril","Mai","Juin","Juillet",utf8_encode("Août"),"Septembre","Octobre","Novembre",utf8_encode("Décembre"));

$datefr = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y");
$heurefr = date("H:i:s");

$vousetes = $_POST['vousetes'];
$societe = $_POST['societe'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$pays = $_POST['pays'];
$codepostal = $_POST['codepostal'];
$localite = $_POST['localite'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$concerne = $_POST['concerne'];
$message = $_POST['message'];

switch($concerne) {
case 'CRE':
$concerne = utf8_encode('CREATION');
break;
case 'IMP':
$concerne = utf8_encode('IMPRESSION');
break;
case 'WEB':
$concerne = utf8_encode('WEB DESIGN');
break;
default:
$concerne = utf8_encode('Ordre général');
}
$societe = ucwords(strtolower($societe));
$nom = strtoupper(strtolower($nom));
$localite = strtoupper(strtolower($localite));
$prenom = ucwords(strtolower($prenom));

$destinataire1 = "flvandoorne@skynet.be";
$destinataire2 = $email;
$objet1 = "Demande de Renseignements www.sitecreaprint.be";
$objet2 = "Copie de votre Demande de Renseignements sur www.sitecreaprint.be";

$msg = "\n";
$msg .= "============================================================================\n";
$msg .= "Message provenant d'un $vousetes\n";
$msg .= "\n";
$msg .= "Entreprise : $societe\n";
$msg .= ">>> Contact : $nom $prenom\n";
$msg .= "$adresse\n";
$msg .= "$pays - $codepostal $localite\n";
$msg .= utf8_encode("Tél : ")."$tel\n";
$msg .= "Email : $email\n";
$msg .= "\n\n";
$msg .= "Concerne : $concerne\n";
$msg .= "\n";
$msg .= "Message :\n";
$msg .= "$message\n";
$msg .= "\n";
$msg .= "============================================================================\n";
$msg .= "\n";

$entete = "From: sitecreaprint <>\n";
$entete .= "Reply-To: $destinataire2\n\n";
$entete .= "Content-Type: text/plain; charset=\'UTF-8\'\n";
$entete .= "Content-Disposition: inline\n";
$entete .= "Content-Transfer-Encoding: 8bit\n";
$entete .= "MIME-Version: 1.0\n";
$entete .= "Date: $datefr $heurefr\n";

$resultat = mail(utf8_decode($destinataire1),utf8_decode($objet1), utf8_decode($msg), utf8_decode($entete));
if ($resultat == false) {
Header("Location: ../formulaire02.html");
} else {
Header("Location: ../formulaire01.html");
}
?>

J'ai bien vérifié et revérifié... les zones du formulaires sont strictement identiques dans le php et le HTML.
Par contre, est-ce normal qu'en réception de message (vide ou rempli),
que je reçoive en tête de message le contenu de tous les headers,
sauf des 2 premiers (from et reply)

Voici le HTML complet. Je sais que c'est long. Mais sans savoir où se trouve l'erreur, j'envoie le tout :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>creaprint creaprint.be sitecreaprint.be creation impression webdesign www.creaprint.be www.sitecreaprint.be florence vandoorne deportes estaimpuis belgique formulaire devis gratuit</title>
<style type="text/css">
<!--
#entete {
height: 148px;
width: 945px;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
}
#contenu {
height: 475px;
width: 945px;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
}
#pied a infos {
padding: 0px;
height: 97px;
width: 120px;
position: static;
left: 40px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
}
#pied {
height: 97px;
width: 945px;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
background-image: url(images/pied_site.gif);
}
#pied table {
margin: 0px;
padding: 0px;
height: 97px;
width: 945px;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
}
#site {
width: 945px;
height: 720px;
margin-top: 5px;
margin-left: -472px;
position: absolute;
left: 50%;
}
body {
background-color: #000;
}
#site #contenu {
background-image: url(images/contenu_vide.gif);
}
#site #contenu h2 {
margin-top: 0px;
color: #069;
width: 885px;
padding-left: 60px;
position: relative;
}
#site #contenu #formulaire {
width: 845px;
margin-left: 60px;
height: 395px;
margin-top: 0px;
}
#site #contenu #formulaire table {
margin-top: 0px;
margin-bottom: 0px;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
}
#site #contenu #formulaire table tr {
height: 30px;
display: block;
margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
}
body,td,th {
font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
}
#site #contenu #formulaire table tr td #concerne {
width: 290px;
}
#site #contenu #formulaire table tr td #message5 {
height: 202px;
width: 369px;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}
#site #contenu #formulaire table tr td #nom {
text-transform: uppercase;
}
#site #contenu #formulaire table tr td #localite {
text-transform: uppercase;
}
.texterouge {
font-weight: bold;
color: #F00;
}
.postscriptum {
font-size: 10px;
font-style: italic;
position: absolute;
top: 605px;
left: 65px;
}
.alignverticaltop {
vertical-align: text-top;
}
.etoilepostscriptum {
font-size: 8px;
position: absolute;
top: 604px;
}
#site #contenu #formulaire table tr td #prenom {
text-transform: capitalize;
}
#site #contenu #formulaire table tr td #societe {
text-transform: uppercase;
}
#site #contenu #formulaire table tr td #adresse {
text-transform: capitalize;
}
#cadretitre {
position: absolute;
left: 60px;
top: 162px;
z-index: 2;
}
.error_strings {
font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
font-size:10px;
color: #F00;
}
#myform_errorloc {
height: 90px;
line-height: 11px;
}
-->
</style>
<script type="text/javascript">
<!--

image0 = new Image(400,0)
image0.src = "images/null_on_null_hover_1.gif"

image1 = new Image(400,0)
image1.src = "images/null_on_accueil_hover_1.gif"

image2 = new Image(400,0)
image2.src = "images/null_on_crea_hover_1.gif"

image3 = new Image(400,0)
image3.src = "images/null_on_imp_hover_1.gif"

image4 = new Image(400,0)
image4.src = "images/null_on_web_hover_1.gif"

var nava = (document.layers);
var dom = (document.getElementById);
var iex = (document.all);
if (nava) { cach = document.cache }
else if (dom) { cach = document.getElementById("cache" ).style }
else if (iex) { cach = cache.style }
largeur = screen.width;
cach.left = Math.round((largeur/2)-200);
cach.visibility = "visible";

function cacheOff() {
cach.visibility = "hidden";
}
function zoomin01() {
document.menu.src = image1.src; return true;
}
function zoomin02() {
document.menu.src = image2.src; return true;
}
function zoomin03() {
document.menu.src = image3.src; return true;
}
function zoomin04() {
document.menu.src = image4.src; return true;
}
function original() {
document.menu.src = image0.src; return true;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i[index.html ]
<map name="Map">
[index.html
]
[impression00.html
]
</map>





Devis gratuit - Demande de renseignements




<form action="php/traitement.php" method="post" name="myform" id="formulaire">
Vous êtes*,
<label>
Professionnel</label>
<label>
Particulier</label>,
<label for="concerne">Concerne : </label>
<select name="concerne" id="concerne">
<option value="NC">Ordre général</option>
<option value="CRE">Création</option>
<option value="IMP">Impression </option>
<option value="WEB">Web Design</option>
</select>,

----

Société,
,
<label for="message5"></label>
<textarea name="message" id="message5"></textarea>,

----

Nom*,
,

----

Prénom,
,

----

Adresse,
,

----

Code Postal,
,

----

Localité*,
,

----

Pays*,
<select name="pays" id="pays">
<option value="BE" selected>Choisissez, svp !</option>
<option value="BE">Belgique</option>
<option value="FR">France</option>
<option value="CH">Suisse</option>
<option value="LU">Luxembourg</option>
<option value="NL">Pays-bas</option>
<option value="NC">Autre pays</option>
</select>,

----

Tél / Gsm*,
,
<label for="envoi"></label>

<label for="erase"></label>
,

----

E-mail*,



*Champs obligatoires
</form>

<script language="JavaScript" type="text/javascript">
var frmvalidator = new Validator("myform");
frmvalidator.EnableOnPageErrorDisplaySingleBox();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("message","req","Votre message est manquant !");
frmvalidator.addValidation("email","req","Votre email est manquant !");
frmvalidator.addValidation("email","email","Votre email n'est pas valide !");
frmvalidator.addValidation("tel","req","Votre téléphone est manquant !");
frmvalidator.addValidation("pays","dontselect=0","Votre pays est manquant !");
frmvalidator.addValidation("localite","req","Votre localité est manquante !");
frmvalidator.addValidation("nom","req","Votre nom est manquant !");
</script>



,
,
,







</html>

Merci d'avance pour votre très précieuse aide. cela me permettra d'avancer sereinement dans la finition de ce site. Merci

Voici
jyd

1 réponse

Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 2
14 sept. 2010 à 11:41
Réponse simple :

<script language="JavaScript" type="text/javascript">
var frmvalidator = new Validator("myform");
frmvalidator.EnableOnPageErrorDisplaySingleBox();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("message","req","Votre message est manquant !");
frmvalidator.addValidation("email","req","Votre email est manquant !");
frmvalidator.addValidation("email","email","Votre email n'est pas valide !");
frmvalidator.addValidation("tel","req","Votre téléphone est manquant !");
frmvalidator.addValidation("pays","dontselect=0","Votre pays est manquant !");
frmvalidator.addValidation("localite","req","Votre localité est manquante !");
frmvalidator.addValidation("nom","req","Votre nom est manquant !");
</script> 


Tu ne test jamais les champs vide ... donc forcément, on peut t'envoyer un formulaire vide.
0
Rejoignez-nous