La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  [Résolu] vérifier formulaire contact, besoin d'aide intelligente
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: [Résolu] vérifier formulaire contact, besoin d'aide intelligente  (Lu 1033 fois)
[Résolu] vérifier formulaire contact, besoin d'aide intelligente
« sur: le 16-09-2010 a 17:30:02 »
Améni
Membre récent
*

Hors-Ligne

Sexe: Femelle
Messages: 74



n° siret : 53037631800016

Voir le Profil    WWW
Répondre avec citation

Bonjour,

J'ai fais le tour des tutos, j'ai posté dans des forums mais je n'ai pas eu l'aide que je recherche... J'espère qu'ici quelqu'un pourra une bonne fois pour toute m'expliquer comment faire concrètement...

Voilà, je débute en PHP, et là je suis à mon formulaire de contact. J'aimerai pouvoir vérifier que mes champs sont bien rempli (si oui, insérer les éléments dans ma BDD) sinon afficher les messages (merci d'indiquer votre nom, merci d'indiquer votre prénom...) et vérifier la validité de l'adresse email.

Or je ne comprends pas les bouts de codes que j'ai vu, et dans les forums j'ai des réponses comme ceci:

Tu dois récupérer la saisie de chaque champ avec un $nom = mysql_real_escape_string($_POST['nom']); et ensuite vérifier que chaque champ est complété (tu peux instaurer une valeur minimale/maximale du nombre de caractères avec strlen, voir doc. de php) grâce à un if(!isset($nom)) { echo 'champ vide'; }, à noter que if(empty($nom)) c'est la même chose.

ou alors:

Dans ton code PHP, tu peux vérifier la validité du formulaire, en faisant des vérificatiosn du genre de celles ci:

if ( ( isset($_POST["nom"]) and $_POST["nom"]=="") or ( isset($_POST["prenom"]) and $_POST["prenom"]=="") )
{
// tu renvoies la personne sur la page du formulaire, avec un message d'erreur en prime
}
else
{
// tu fais ton traitement car les champs sont remplis
}


Ceci n'est pas clair pour moi, j'aimerai que quelqu'un écrit le code php pour de vrai comme si il était en train de faire le formulaire de son site et de m'expliquer les lignes à quoi elles servent...

Par exemple, voici un formulaire:

<table>
<form action="traitement_mail.php" method="post">
            <tr><td><label>Nom</label> <input type="text" name="Nom" /></td></tr>
            <tr><td><label>Prenom</label> <input type="text" name="prenom" /></td></tr>
            <tr><td><label>Email</label><input type="text" name="email"  /></td></tr>
            <tr><td><label>Objet</label> <input type="text"  name="objet"  /></td></tr>
            <tr><td><textarea name="message" rows="20" cols="50"></textarea></td></tr>
            <tr><td><input type="submit" value="Envoyer" />
      </form>
</table>

Maintenant concrètement que faut-il écrire, comment l'écrire...

Ne me dites pas par exemple : // tu fais ton traitement car les champs sont remplis (faites le pour de VRAI, car je sais pas quoi écrire, comment écrire...).

Une fois que j'aurai de vrai explications avec le code écrit pour de VRAI et avec des commentaires , je pourrai enfin savoir quoi écrire, comment l'écrire et ainsi l'adapter à d'autres formulaires que je pourrai créer...

Mille Merci pour votre aide!

Bonne journée

« Dernière Édition: le 25-09-2010 a 14:33:33 par Améni » Rapporter au modérateur  

Mon portfolio : http://www.webmaster-integrateur.fr/
Boutique lingerie femme, maillot de bain et accessoire : http://www.winkyz.com/

Re:vérifier formulaire contact, besoin d'aide intelligente
« Répondre #1 sur: le 18-09-2010 a 21:02:19 »
web-dev
Membre récent
*

Hors-Ligne

Messages: 14





Voir le Profil
Répondre avec citation

Salut Améni,

Tiens je t'ai fais un petit script vite fais, grosso modo ton code doit ressembler à ça, j'ai mis quelques commentaires en espérant que ce seras suffisant.
@++
Code:

<?php

// On vérifie que le formulaire à été poster grâce à la variable $_POST['submit']
// qui renvoie la valeur Envoyer si le formulaire est soumis
if(isset($_POST['submit'])) {

   // Connexion à la base de données
   mysql_connect('localhost','db_user','db_password');
   mysql_select_db('db_name');

   // Protection des caractères spéciaux avec mysql_real_escape_string
   $nom = mysql_real_escape_string($_POST['nom']);
   $prenom = mysql_real_escape_string($_POST['prenom']);
   $email = mysql_real_escape_string($_POST['email']);
   $objet = mysql_real_escape_string($_POST['objet']);
   $message = mysql_real_escape_string($_POST['message']);
   
   // On définie une variable d'erreur à false
   // qui nous permettra de savoir si une erreur de champ vide à été trouvé
   $error = false;
   
   
   // Vérification des champs vides
   if(emtpy($nom){
      echo "Le champ Nom est vide!";
      $error = true;
   }
   
   if(emtpy($prenom){
      echo "Le champ Prenom est vide!";
      $error = true;
   }
   
   if(emtpy($email){
      echo "Le champ Email est vide!";
      $error = true;      
   }
   
   // On valide l'email rapidement avec la fonction filter_var()
   // Il éxiste des moyens plus complexe de valider une adresse email
   // mais je pense que pour toi ce seras suffisent
   if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE) {
      echo "Votre email n'est pas valid!";
      $error = true;
   }
   
   if(emtpy($objet){
      echo "Le champ Objet est vide!";
      $error = true;
   }
   
   if(emtpy($message){
      echo "Le champ Message est vide!";
      $error = true;
   }
   
   // si la varaible $error routourne false alors on valid le formulaire et on envoie les données dans la base de données
   if($error == false) {
      mysql_query("INSERT INTO album (nom, prenom, email, objet, message) VALUES ('" . $nom . "', '" . $prenom . ", '" . $email . ", '" . $objet . ", '" . $message . "')");
   }

   mysql_close();

}

?>
<table>
   <form action="traitement_mail.php" method="post">
      <tr>
         <td><label>Nom</label> <input type="text" name="Nom" value=""/></td>
      </tr>
      <tr>
         <td><label>Prenom</label> <input type="text" name="prenom" value=""/></td>
      </tr>
      <tr>
         <td><label>Email</label><input type="text" name="email" value=""/></td>
      </tr>
      <tr>
         <td><label>Objet</label> <input type="text"  name="objet" value=""/></td>
      </tr>
      <tr>
         <td><textarea name="message" rows="20" cols="50"></textarea></td>
      </tr>
      <tr>
         <td><input name="submit" type="submit" value="Envoyer" /></td>
      </tr>
     </form>
</table>

Rapporter au modérateur  
Re:vérifier formulaire contact, besoin d'aide intelligente
« Répondre #2 sur: le 19-09-2010 a 18:00:58 »
Améni
Membre récent
*

Hors-Ligne

Sexe: Femelle
Messages: 74



n° siret : 53037631800016

Voir le Profil    WWW
Répondre avec citation

Bonjour web-dev,

Mille merci!! Tu me sauve la vie  Je comprends mieux comment faire...

En plus tu as fais quelques petites erreurs que j'ai trouvé par moi-même 

if(emtpy($nom){
      echo "Le champ Nom est vide!";
      $error = true;
  }

Tu  écris emtpy au lieu de empty  (inversement du p et t) et tu oublie de fermer la parenthèse de empty avant les accolades à chaque fois...

Je souhaiterai si possible par rapport au champs email, et bien soit le champs est vide et donc on affiche : Le champ Email est vide!

Soit le champs n'est pas vide (on l'a rempli quoi) mais de façon invalide d'afficher : Votre email n'est pas valid!

C'est à dire afficher soit l'un soit l'autre, car là même si le champs est vide il affiche également que l'email est invalide...

Saurais-tu par hasard comment faire?

Et également autre chose, imaginons que la personne a tout bien rempli le formulaire mais le champs email est invalide, j'aimerai quand elle click sur "retour au formulaire" que ce qu'elle a tapé auparavant se réaffiche, qu'elle n'a pas à tout ressaisir...

Je pense que c'est possible mais je vois pas comment on pourrai faire...

Mille Merci!

Rapporter au modérateur  

Mon portfolio : http://www.webmaster-integrateur.fr/
Boutique lingerie femme, maillot de bain et accessoire : http://www.winkyz.com/
Re:vérifier formulaire contact, besoin d'aide intelligente
« Répondre #3 sur: le 19-09-2010 a 18:11:23 »
web-dev
Membre récent
*

Hors-Ligne

Messages: 14





Voir le Profil
Répondre avec citation

Je te donne un code complet fallait bien que tu travail un peux tout de même sa aurai été trop facile de l'avoir tout pondu et sans erreurs nan!


Pour n'afficher qu'une erreur à la fois tu peut faire cela
Code:

if(empty($email)){
      echo "Le champ Email est vide!";
      $error = true;     
} elseif(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE) {
      echo "Votre email n'est pas valid!";
      $error = true;
}else {}


et pour récupérer les valeurs des champs une fois le formulaire soumis il faut les récupérer via la variables $_POST de la même manière que dans le script que je t'es donnée ensuite tu les met en valeur dans le champ input.
Tu sais Améni il existe une plénitude de site expliquant ce genre de choses sur le web une petite recherche t'aurai surement permis de trouver ces réponse par toi même!
sache-le pour l'avenir.
@+

Rapporter au modérateur  
Re:vérifier formulaire contact, besoin d'aide intelligente
« Répondre #4 sur: le 21-09-2010 a 19:22:41 »
Améni
Membre récent
*

Hors-Ligne

Sexe: Femelle
Messages: 74



n° siret : 53037631800016

Voir le Profil    WWW
Répondre avec citation

Bonjour,

Merci beaucoup!

Oui je sais il y a beaucoup de site mais je tombe sur des sites qui détaillent pas les explications et du coup je ne comprends pas la logique, le pourquoi du comment...

Recopier bêtement ça ne sert à rien...

Pour récupérer via la variables $_POST, je n'y arrive pas... J'ai testé différents choses (que j'ai vu sur différents sites) mais sans succès 

Mille Merci

Bonne journée

Rapporter au modérateur  

Mon portfolio : http://www.webmaster-integrateur.fr/
Boutique lingerie femme, maillot de bain et accessoire : http://www.winkyz.com/
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg