HELP! formulaire avec code sécu à vérifier

jeff -  
 jeff -
Bonjour,

J'ai un probleme avec un formulaire comprenant un code de sécurité, censé également renvoyé les infos dans ma boite mail.
Je précise que mon formulaire fonctionnait niquel avant je ne sais quelle manipe qui a fait que mon fichier traitement.php a été modifié à mon insu et que la redirection ne se faisait plus sur mon propre mail mais par un serveur qui captait toutes les données!! j'ai donc essayé de remettre l'original, en vain:

je tombe sur une partie du fichier traitement.php qui s'affiche a l'écran lors de la validation, alors que je dois avoir le controle php qui maffiche que des erreurs de de saisies apparaissent( les champs suvants doivent etres obligatoirement remplis...) pour les champs non remplis, ou bien je devrais avoir " Erreur : le code de protection est invalide !".

Ci joint le la partie "formulaire" de la page html en question,


<form name="formulaire"
form method="post" action="formulaire/traitement.php">

<fieldset id="formulaire">


<p id="Nature de la demande"><label>Nature de la demande : </label>
<input type="radio" name="naturedelademande" value="Informations" />Informations
<input type="radio" name="naturedelademande" value="Devisgratuit" />Devis gratuit

</p>
<label>Vous êtes : </label>
<select name="statutvousetes">
<option value="veuillezchoisir1">--------sélection--------</option>
<option value="particulier">un Particulier</option>
<option value="professionnel">un Professionnel</option>
<option value="administration">une Administration</option>
<option value="collectivitelocale">une Collectivité locale</option>
<option value="servicepublic">un Service public</option>
<option value="organisation">une Organisation</option>
<option value="collectif">un Collectif</option>
<option value="artiste">un Artiste</option>
<option value="AUTRE">Autre</option>
</select>

</p>
<label>Civilité : </label>
<select name="civilite">
<option value="veuillezchoisir2">--sélection--</option>
<option value="madame">Mme.</option>
<option value="mademoiselle">Mlle.</option>
<option value="monsieur">M.</option>
</select>

</p>
<label>Nom : </label>
<input type="text" name="nom" size="60" /><br />
<label>Société / Organisme : </label>
<input type="text" name="societe-organisme" size="60" /><br />
<label>Adresse : </label>
<input type="text" name="adresse" size="60" /><br />
<label>Code postal : </label>
<input type="text" name="codepostal" size="60" /><br />
<label>Ville : </label>
<input type="text" name="ville" size="60" /><br />
<label>Pays : </label>
<input type="text" name="pays" size="60" /><br />
<label>Téléphone : </label>
<input type="text" name="telephone" size="60" /><br />
<label>Email : </label>
<input type="text" name="email" size="60" /><br />

<p id="descriptiondelademande">
<label>Description de la demande : </label>

<textarea name="descriptiondelademande" rows="5" cols="60"></textarea><br />

<label for="verif">Recopiez le code de sécurité anti-spam suivant :</label><br />
<img src="formulaire/imagesecu.php" alt="image de protection" /><br />
<input type="text" name="verif" size="8" maxlength="6" />

</p>
<img src="formulaire/reaverzprod.jpg"HEIGHT=55>


<p id="buttons">
<input type="submit" value="Envoyer" />

</p>
</fieldset>
</form>

ainsi qu'a la suite le fichier "traitement.php" qui doit nous traiter tout ça:

<?php
// On initialise la session
session_start();
/* on vérifie que la code est toujours mémorisé en session et qu'il fait 6 caractères */
if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur !");

// on vérifie que la code entré est valide
if($_SESSION['code'] != $_POST['verif']) die("Erreur : le code de protection est invalide !");
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;

define('MAIL_DESTINATAIRE','contact@reverse-production.fr'); // remplacer par votre email
define('MAIL_SUJET','Message du formulaire REvERSE PRODUCTION');

// vérification des champs
if (empty($_POST['email']))
$message .= "Email<br/>";
if (empty($_POST['nom']))
$message .= "Nom<br/>";
if (empty($_POST['descriptiondelademande']))
$message .= "Description de la demande<br/>";

// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {

echo $message;

} else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps = "Message de : $civilite $nom\n";
$mail_corps .= "Société / Organisme : $societe-organisme\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Téléphone : $telephone\n";
$mail_corps .= "Email : $email\n";
$mail_corps .= "Nature de la demande : $naturedelademande;
$mail_corps .= "Description de la demande : $descriptiondelademande;

// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

//Le mail est bien expédié
echo $msg_ok;
} else {

//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}

}
?>


Merci de votre aide précieuse. Jeff le Profane. :)

1 réponse

jeff
 
svppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
0