par
Vincent16 » 25 oct. 2014, 11:25
Bonjour,
Je suis entrain de sécurisé tous mes formulaires et la je bug le formulaire de contact. Plus j'y regarde, moins je vois où peut se trouver le problème, ca me dit que ma variable "erreur" n'est pas défini et c'est la que je ne comprends pas. La ligne de défaut se trouve là ou erreur est censé s'afficher en cas d'erreur sur le formulaire. elle sera repéré de cette façon ***************************************. Ne faites pas attention à mes expressions rationnelles, je suis entrain d'apprendre donc il doit y avoir de nombreuses erreurs de ce côté la.
<?php
// Si le formulaire a été soumis
if (isset($_POST["envoyer-contact-email"])){
$etat="erreur";
$texte=trim(htmlspecialchars($_POST["texte"]));
if ($texte=="qk4e5f45sdf5sd4f5qdfil1u3fg6t9yu1"); {
if (isset($_POST["objet"]) && !empty($_POST["objet"])) {
$objet=trim(htmlspecialchars($_POST["objet"]));
if (!preg_match("/^[ÀÇÈÉÊàáâäçèéêëìíîòóôöùúûa-zA-Z' ]{1,75}$/",$objet)) {
$erreur="L'objet renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>L'objet de votre message est vide, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["civilite"]) && !empty($_POST["civilite"])) {
$civilite=trim(htmlspecialchars($_POST["civilite"]));
if (!preg_match("/^[Mm]{1}[a-uA-U]{5,11}$/",$civilite)) {
$erreur="La civilité renseignée contient des caractères non autorisés...";
}
else {
echo "<h4>Votre civilité n'est pas remplie, merci de la renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["nom"]) && !empty($_POST["nom"])) {
$nom=trim(htmlspecialchars($_POST["nom"]));
if (!preg_match("/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z' -]{6,12}$/",$nom)) {
$erreur="Le nom renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre nom de famille n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["prenom"]) && !empty($_POST["prenom"])) {
$prenom=trim(htmlspecialchars($_POST["prenom"]));
if (!preg_match("/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z' -]{6,12}$/",$prenom)) {
$erreur="Le prénom renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre prénom n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["email"]) && !empty($_POST["email"])) {
$email=trim(htmlspecialchars($_POST["email"]));
if (!preg_match("/^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$/", $email)) {
$erreur="L'email renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre email n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["message"]) && !empty($_POST["message"])) {
$message=trim(htmlspecialchars($_POST["message"]));
if (!preg_match("/^[0-9a-zA-Z]([-_.]){0,500}$/",$message)) {
$erreur="Le message renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre message n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["jour"]) && !empty($_POST["jour"])) {
$jour=trim(htmlspecialchars($_POST["jour"]));
if (!preg_match("/^[0-9]{1,2}$/",$jour)) {
$erreur="Le jour renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre jour de récéption n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["mois"]) && !empty($_POST["mois"])) {
$mois=trim(htmlspecialchars($_POST["mois"]));
if (!preg_match("/^[0-9]{1,2}$/",$mois)) {
$erreur="Le mois renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre mois de récéption n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["annee"]) && !empty($_POST["annee"])) {
$annee=trim(htmlspecialchars($_POST["annee"]));
if (!preg_match("/^[0-9]{2,4}$/",$annee)) {
$erreur="L'année renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre année de récéption n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["nom_captcha"]) && !empty($_POST["nom_captcha"])) {
$nom_captcha=trim(htmlspecialchars($_POST["nom_captcha"]));
if (!preg_match("/^[a-z0-9]{8,9}$/",$nom_captcha)) {
$erreur="Le nom du captcha renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre nom de captcha n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["test"]) && !empty($_POST["test"])) {
$test_temp=trim(htmlspecialchars($_POST["test"]));
$test=trim(strtoupper($test_temp));
try
{
$bdd = new PDO('mysql:host=localhost;dbname=coiffure', 'root', '');
$bdd->query("SET NAMES UTF8");
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT reponse_captcha FROM captcha_secure WHERE nom_captcha = "'.$nom_captcha.'"');
while ($donnees = $reponse->fetch())
{
$reponse_captcha=trim(htmlspecialchars($donnees['reponse_captcha']));
}
$reponse->closeCursor(); // Termine le traitement de la requête
$erreur="";
if (!preg_match("/^[a-zA-Z0-9]{5}$/",$test)) {
$erreur="Le nom du captcha renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre réponse au captcha n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br /><br />Cordialement, Morgane<br /><br />Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif ($reponse_captcha!=$test) {
$erreur="Le captcha renseigné ne correspond pas a la base de données...";
}
elseif (isset($_POST["compteur"]) && !empty($_POST["compteur"])) {
$compteur=trim(htmlspecialchars($_POST["compteur"]));
if (!preg_match("/^[1]{1}$/",$compteur)) {
$erreur="Le compteur renseigné ne vaut pas 1...";
}
else {
echo "<h4>Votre compteur n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br /><br />Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
}
}
else { $etat="ok"; }
if ($etat=="ok"){
// Cas où le formulaire a été soumis mais il y a des erreurs
echo "<h4>Votre message a bien été envoyé, une réponse vous sera envoyé sous 24h.<br /><br />
Cordialement, Morgane<br /><br />
Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
try
{
$bdd = new PDO('mysql:host=localhost;dbname=coiffure', 'root', '');
$bdd->query("SET NAMES UTF8");
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare ('INSERT INTO contact(ID, objet, civilite, nom, prenom, email, message, jour, mois, annee, compteur)
VALUES(:ID, :objet, :civilite, :nom, :prenom, :email, :message, :jour, :mois, :annee, :compteur)');
$req->execute(array(
'ID' => NULL,
'objet'=>$objet,
'civilite'=>$civilite,
'nom'=>$nom,
'prenom'=>$prenom,
'email'=>$email,
'message'=>$message,
'jour'=>$jour,
'mois'=>$mois,
'annee'=>$annee,
'compteur'=>$compteur));
}
elseif ($etat=="erreur"){
// On affiche le message correspondant à l'erreur
echo "<h4>$erreur<br /><br />****************************************************************************************************************************************************
Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}
else {
header('Location: index.php');
}
?>
Je vous remercie d'avance pour votre aide, j'ai du me mélanger les pinceaux à vouloir l'arranger et maintenant c'est le drame^^
Bonjour,
Je suis entrain de sécurisé tous mes formulaires et la je bug le formulaire de contact. Plus j'y regarde, moins je vois où peut se trouver le problème, ca me dit que ma variable "erreur" n'est pas défini et c'est la que je ne comprends pas. La ligne de défaut se trouve là ou erreur est censé s'afficher en cas d'erreur sur le formulaire. elle sera repéré de cette façon ***************************************. Ne faites pas attention à mes expressions rationnelles, je suis entrain d'apprendre donc il doit y avoir de nombreuses erreurs de ce côté la.
[php]
<?php
// Si le formulaire a été soumis
if (isset($_POST["envoyer-contact-email"])){
$etat="erreur";
$texte=trim(htmlspecialchars($_POST["texte"]));
if ($texte=="qk4e5f45sdf5sd4f5qdfil1u3fg6t9yu1"); {
if (isset($_POST["objet"]) && !empty($_POST["objet"])) {
$objet=trim(htmlspecialchars($_POST["objet"]));
if (!preg_match("/^[ÀÇÈÉÊàáâäçèéêëìíîòóôöùúûa-zA-Z' ]{1,75}$/",$objet)) {
$erreur="L'objet renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>L'objet de votre message est vide, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["civilite"]) && !empty($_POST["civilite"])) {
$civilite=trim(htmlspecialchars($_POST["civilite"]));
if (!preg_match("/^[Mm]{1}[a-uA-U]{5,11}$/",$civilite)) {
$erreur="La civilité renseignée contient des caractères non autorisés...";
}
else {
echo "<h4>Votre civilité n'est pas remplie, merci de la renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["nom"]) && !empty($_POST["nom"])) {
$nom=trim(htmlspecialchars($_POST["nom"]));
if (!preg_match("/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z' -]{6,12}$/",$nom)) {
$erreur="Le nom renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre nom de famille n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["prenom"]) && !empty($_POST["prenom"])) {
$prenom=trim(htmlspecialchars($_POST["prenom"]));
if (!preg_match("/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z' -]{6,12}$/",$prenom)) {
$erreur="Le prénom renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre prénom n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["email"]) && !empty($_POST["email"])) {
$email=trim(htmlspecialchars($_POST["email"]));
if (!preg_match("/^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$/", $email)) {
$erreur="L'email renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre email n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["message"]) && !empty($_POST["message"])) {
$message=trim(htmlspecialchars($_POST["message"]));
if (!preg_match("/^[0-9a-zA-Z]([-_.]){0,500}$/",$message)) {
$erreur="Le message renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre message n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["jour"]) && !empty($_POST["jour"])) {
$jour=trim(htmlspecialchars($_POST["jour"]));
if (!preg_match("/^[0-9]{1,2}$/",$jour)) {
$erreur="Le jour renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre jour de récéption n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["mois"]) && !empty($_POST["mois"])) {
$mois=trim(htmlspecialchars($_POST["mois"]));
if (!preg_match("/^[0-9]{1,2}$/",$mois)) {
$erreur="Le mois renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre mois de récéption n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["annee"]) && !empty($_POST["annee"])) {
$annee=trim(htmlspecialchars($_POST["annee"]));
if (!preg_match("/^[0-9]{2,4}$/",$annee)) {
$erreur="L'année renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre année de récéption n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["nom_captcha"]) && !empty($_POST["nom_captcha"])) {
$nom_captcha=trim(htmlspecialchars($_POST["nom_captcha"]));
if (!preg_match("/^[a-z0-9]{8,9}$/",$nom_captcha)) {
$erreur="Le nom du captcha renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre nom de captcha n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br/><br/>Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif (isset($_POST["test"]) && !empty($_POST["test"])) {
$test_temp=trim(htmlspecialchars($_POST["test"]));
$test=trim(strtoupper($test_temp));
try
{
$bdd = new PDO('mysql:host=localhost;dbname=coiffure', 'root', '');
$bdd->query("SET NAMES UTF8");
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT reponse_captcha FROM captcha_secure WHERE nom_captcha = "'.$nom_captcha.'"');
while ($donnees = $reponse->fetch())
{
$reponse_captcha=trim(htmlspecialchars($donnees['reponse_captcha']));
}
$reponse->closeCursor(); // Termine le traitement de la requête
$erreur="";
if (!preg_match("/^[a-zA-Z0-9]{5}$/",$test)) {
$erreur="Le nom du captcha renseigné contient des caractères non autorisés...";
}
else {
echo "<h4>Votre réponse au captcha n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br /><br />Cordialement, Morgane<br /><br />Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
elseif ($reponse_captcha!=$test) {
$erreur="Le captcha renseigné ne correspond pas a la base de données...";
}
elseif (isset($_POST["compteur"]) && !empty($_POST["compteur"])) {
$compteur=trim(htmlspecialchars($_POST["compteur"]));
if (!preg_match("/^[1]{1}$/",$compteur)) {
$erreur="Le compteur renseigné ne vaut pas 1...";
}
else {
echo "<h4>Votre compteur n'est pas rempli, merci de le renseigner avant de soumettre le formulaire<br/><br/>Cordialement, Morgane<br /><br />Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}}
}
}
else { $etat="ok"; }
if ($etat=="ok"){
// Cas où le formulaire a été soumis mais il y a des erreurs
echo "<h4>Votre message a bien été envoyé, une réponse vous sera envoyé sous 24h.<br /><br />
Cordialement, Morgane<br /><br />
Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
try
{
$bdd = new PDO('mysql:host=localhost;dbname=coiffure', 'root', '');
$bdd->query("SET NAMES UTF8");
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare ('INSERT INTO contact(ID, objet, civilite, nom, prenom, email, message, jour, mois, annee, compteur)
VALUES(:ID, :objet, :civilite, :nom, :prenom, :email, :message, :jour, :mois, :annee, :compteur)');
$req->execute(array(
'ID' => NULL,
'objet'=>$objet,
'civilite'=>$civilite,
'nom'=>$nom,
'prenom'=>$prenom,
'email'=>$email,
'message'=>$message,
'jour'=>$jour,
'mois'=>$mois,
'annee'=>$annee,
'compteur'=>$compteur));
}
elseif ($etat=="erreur"){
// On affiche le message correspondant à l'erreur
echo "<h4>$erreur<br /><br />****************************************************************************************************************************************************
Retour à la page <a href=\"index.php\">Accueil</a> ou à la page <a href=\"contact-email-morgane.php\">Contact</a></h4>";
}
else {
header('Location: index.php');
}
?>
[/php]
Je vous remercie d'avance pour votre aide, j'ai du me mélanger les pinceaux à vouloir l'arranger et maintenant c'est le drame^^