Résolu PHP - Je ne trouve pas mon erreur

Post Malone

Premium
Inscription
2 Novembre 2012
Messages
2 464
Réactions
464
Points
18 189
RGCoins
25
Bonjour :RG:

Aujourd'hui je poste car j'ai fais un script en PHP sur une page contact.php qui est censée envoyer un mail a mon adresse après différente vérifications.

Voici le code :
PHP:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Contact</title>
    <link rel="stylesheet" type="text/css" href="css/style.php">
</head>
<body>
    <?php include 'include/header.html' ?><br><br>
    <div class="container">
<form class="form-horizontal" method="post" action="contact.php">
  <fieldset>
    <legend>Formulaire de contact</legend>
    <div class="form-group">
      <label for="inputEmail" class="col-lg-2 control-label">Nom/Pseudo*</label>
      <div class="col-lg-10">
        <input type="text" class="form-control" name="pseudo" placeholder="Nom/Pseudo">
      </div>
    </div>
    <div class="form-group">
      <label for="inputEmail" class="col-lg-2 control-label">Email*</label>
      <div class="col-lg-10">
        <input type="text" class="form-control" id="inputEmail" name="email" placeholder="Email">
      </div>
    </div>
    <div class="form-group">
      <label for="select" class="col-lg-2 control-label">Type de problème*</label>
      <div class="col-lg-10">
        <select class="form-control" id="select" name="pb">
          <option>Scripts</option>
          <option>GoFinder</option>
          <option>Autre</option>
        </select>
        <br>
      </div>
    </div>
    <div class="form-group">
      <label for="textArea" class="col-lg-2 control-label">Message*</label>
      <div class="col-lg-10">
        <textarea class="form-control" rows="3" id="textArea" name="message"></textarea>
        <span style="font-size: 10px;">Entrez votre message. Merci d'être le plus compréhensible possible.</span><br>
        <span style="font-size: 11px;">Tous les champs marqués avec une étoile (*) sont obligatoires.</span>
      </div>
    </div>
    <div class="form-group">
      <div class="col-lg-10 col-lg-offset-2">
        <button type="reset" class="btn btn-default">Effacer</button>
        <button type="submit" class="btn btn-primary" name="submit">Envoyer</button>
      </div>
    </div>
  </fieldset>
</form>
    </div>
    <?php
        // Redéfinition des réponses du formulaire
        $pseudo = $_POST['pseudo'];
        $email = $_POST['email'];
        $pb = $_POST['pb'];
        $message = $_POST['message'];
        $submit = $_POST['submit'];
        // Fin de la redéfinition des réponses du formulaire

        // Configuration de l'email à l'administrateur web
        $to = '[email protected]';
        $subject = '[NRPCFR - Support](' . $pb . ') Nouveau message support.';
        $emailmessage = 'Pseudo : ' . $pseudo . '
        Email : ' . $email . '
        Probleme : ' . $pb . '
        Message : ' . $message . '';
        // Fin de la configuration de l'email à l'administrateur web

        //Configuration de l'email à l'utilisateur
        $subjectuser = '[NRPCFR] Merci de nous avoir contacté';
        $messageuser = 'Merci de nous avoir contacté !
        Un administrateur vous répondra sous peu.

        Il est inutil de répondre a cet e-mail';
        //Fin de la configuration de l'email a l'utilisateur
        // Envoie de l'email a l'administrateur web ET a l'utilisateur
        if (isset($submit))
        {   
            if (isset($pseudo) AND isset($email) AND isset($message) && isset($pb))
            {
                if (preg_match('@', $email) AND preg_match('.', $email))
                {
                    mail($to, $subject, $emailmessage);
                    mail($email, $subjectuser, $messageuser);
                    echo '<div class="panel panel-success">
                          <div class="panel-heading">
                        <h3 class="panel-title">Panel success</h3>
                          </div>
                          <div class="panel-body">';

                }
                else
                {
                    die('<div class="panel panel-warning"><div class="panel-heading"><h3 class="panel-title">Erreur :</h3></div><div class="panel-body">Vous n\'avez pas rempli les champs correctement.</div></div>');
                }
            }
            else
            {
                die('<div class="panel panel-warning"><div class="panel-heading"><h3 class="panel-title">Erreur :</h3></div><div class="panel-body">Vous n\'avez pas rempli tous les champs. Rappel : Les champs marqués d\'une étoile (*) sont obligatoires</div></div>');
            }
        }
    ?>
    <?php include 'include/footer.html' ?>
</body>
</html>

Le script m'affiche l'erreur "Vous n'avez pas rempli les champs correctement", comme si je n'avais pas mis de '@' ni de '.' dans mon email, alors je suppose que ca doit déconner a la ligne "if (preg_match('@', $email) AND preg_match('.', $email))".
Alors quelle est mon erreur ?

Merci d'avance, NRPC ! :)
 
Bonsoir NRPC :membre:,

Tu devrais plutôt utiliser cette fonction : :)

Bonne soirée,
Rivals GTP
Ha je ne connaissais pas, je testerais ca la prochaine fois ^^
 
Retour
Haut