Bonjour, je viens de créer un formulaire d'envoie avec php mais je suis coincé à une place. Au moment où j'essaie de mettre un type="number" je ne réussi pas à faire apparaître le nombre qu'il y a dans la case voici un bout du script d'envoie

if($valid){
        $to = "contact@ *****.com";
        $sujet = $nom." a contacter le site";
        $header = "From: $nom <$email>";
        if(mail($to,$sujet,$message,$header)){
            $erreur = "Message Envoyer";
            unset($nom);
            unset($email);
            unset($message);

        }
        else{
            $erreurenvoie = "Une erreur c'est produite";
        }
    }
}

Bref ce n'est pas compliquer, mais étant donné que je suis débutant je ne sais pas comment faire. Pour le contexte j'essaie de faire une table
Exemple: Lundi | Salade | (NB) | Carotte | (NB) |
Et j'aimerais reçevoire le nombre dans ma boite courriel.

Merci d'avance !

6 réponses


Pewel-OutOfNutella
Réponse acceptée

Salut,

la fonction extract() extrait toutes les variables de ton formulaire, tout les champs si tu préfère.
Tu récupère donc :

  • l'input de ton nom dans $nom
  • l'input de ton email dans $email
  • le textarea de ton message dans $message
  • l'input de ton nombre dans $number

Il suffit juste dans ton code php de tester l'existence de ta variable avec

if(empty($number)){
    $valid=false;
    $erreurnumber = "Veuillez entrer un nombre";
}

Ps : fait bien attention de ne pas mettre de valeur pas défaut dans ton champ de nombre, sinon tu ne passeras pas dans le if, puisqu'il y a aura une valeur dans le champ.
Ps2 : au niveau du test de ton mail, fait plutôt comme ceci :

if(!empty($email)){
    if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail = "Entrer un Email valide !";
    }
}
else {
    $valid=false;
    $erreuremail="Case Invalide";
}

Ça permet de faire le test sur la validité de l'email uniquement si le champ mail n'est pas vide.

Bon courage !

Bonjour,
Il faudrait donner un peu plus de codes, car là on comprend pas grand chose.
Comme ton formulaire et le traitement de tes données POST

(Bonjour du à L'application FaceBook je me suis recréer un compte) Désoler je vais rajouter les inputs si sa peut vous aider..

<!---Code d'envoie Complet-->
if(!empty($_POST)){
    extract($_POST);
    $valid = true;
    if(empty($nom)){
        $valid=false;
        $erreurnom="Case Invalide";
    }
    if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail = "Entrer un Email valide !";
    }
    if(empty($email)){
        $valid=false;
        $erreuremail="Case Invalide";
    }
    if(empty($message)){
        $valid=false;
        $erreurmessage="Case Invalide";
    }   
    if($valid){
        $to = "contact@ *****.com";
        $sujet = $nom." a contacter le site";
        $header = "From: $nom <$email>";
        if(mail($to,$sujet,$message,$header)){
            $erreur = "Message Envoyer";
            unset($nom);
            unset($email);
            unset($message);

        }
        else{
            $erreurenvoie = "Une erreur c'est produite";
        }
    }
}
<!---Input-->
<form method="post" action="contact.php">
<label for="nom"><p style="font-family:Arial, Helvetica, sans-serif;font-size:14px;color:#666;">Nom :</p></label>
<input type="text" name="nom" id="nom" value="<?php if(isset($nom)) echo $nom; ?>"/><br/>
<span class="error-message"><?php if(isset($erreurnom)) echo $erreurnom; ?></span>
<label for="email"><p style="font-family:Arial, Helvetica, sans-serif;font-size:14px;color:#666;">Email :</p></label>
<input type="text" name="email" id="email" value="<?php if(isset($email)) echo $email; ?>"/><br/>
<span class="error-message"><?php if(isset($erreuremail)) echo $erreuremail; ?></span>
<label for="message"><p style="font-family:Arial, Helvetica, sans-serif;font-size:14px;color:#666;">Message :</p></label>
<textarea name="message" id="message"><?php if(isset($message)) echo $message; ?></textarea><br/>
<span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
<input type="number" name="number" id="number" min="0" max="15" value="0"/> <---- Le nombre que je ne reçois pas.. Je les mit dans une Table.
<input type="submit" value="Envoyer" />

J'èspère que ça t'aidera à m'aider.

A quel moment tu récupère la variable number dans ton code ? Car là pour moi tu ne la traite pas.

Ah ok, merci ! Mais comment je fais pour l'intégrer étant donner qu'il n'y a pas de $valid. Merci d'avance je suis débutant.

Merci Pewel ! Tu as réusit à me dépanner , mais vu que l’application grafikart ne fonctionne plus je ne peut pas valider ta réponse.. Merci à tous!