Bonsoir,
Je rencontre un problème avec mon formulaire dont voici le code et dont var_dump me dit que le champ "nom" ne peut être vide!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<div id = "inscription" align="center">
  <form action = "" method = "post">
    <fieldset><h2>Inscription</h2></fieldset>
    <p><label for = "nom">Votre nom :</label> 			
      <input name = "nom" type = "text" id = "nom" " required pattern=^[A-Za-z '-']+$" maxlenght="30"></p> 
 
    <p><label for = "prenom">Votre prénom :</label> 		
      <input type = "text" name = "prenom" id = "prenom" required pattern="^[A-Za-z'-]+$" maxlenght="30"></p>  
 
    <p><label for = "pseudo">Votre Pseudo : </label>
    <input type = "text" name = "pseudo" id = "pseudo" required pattern="^[A-Za-z'-]+$" maxlenght="30">
    <span style="color: #000000"></span></p>
 
    <p><label for = "passe">Votre mot de passe : </label>
    <input type = "password" name = "passe" id = "passe" required pattern="^[A-Za-z0-9]+$" maxlenght="20"> </p>
 
    <p><label for = "passe2">Confirmez votre mot de passe : </label>
    <input type = "password" name = "passe2" id = "passe2" required pattern="^[A-Za-z0-9]+$" maxlenght="20"></p>
 
    <p><label for = "email">Votre e-mail : </label><input type = "text" name = "email" id = "email" /></p>   
    <p><input type = "submit" value = "Envoyer" id = "valider" required pattern="^[A-ZA-z]+@{1}[A-Za-z]{2,}$"></p>
  </form>
ensuite le code php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
<?php
    error_reporting(E_ALL);
    function valid_donnees($donnees){
    $nom=valid_donnees($_POST["nom"]);
    $prenom=valid_donnees($_POST["prenom"]);
    $pseudo=valid_donnees($_POST["pseudo"]);
    $passe=valid_donnees($_POST["passe"]);
    $passe2=valid_donnees($_POST["passe2"]);
    $email=valid_donnees($_POST["email"]);
    $donnes=trim($donnees);
        $donnees=stripslashes($donnees);
        $donnees=htlmspecialchars($donnees);
        return($donnees);}
 
// si les champs sont bien rempli et si les champs ont bien la forme voulues
 
    if(!empty($nom)
       && strlen($nom) <=30
       && preg_match("^[A-Za-z '-]+,$nom")
       && !empty($prenom)
       && strlen($prenom)<=30
       && preg_match("^[A-Za-z '-]+,$prenom")
       && !empty($pseudo)
       && strlen($pseudo)<=30
       && preg_match("^[A-Za-z '-]+,$pseudo")
       && !empty($passe)
       && strlen($passe)<=20
       && !empty($passe2) 
       && strlen($passe2)<=20
       && !empty($email)
       && strlen($email)<=30
       && filter_var($email, FILTER_VALIDATE_EMAIL))
     // je vérifie si les 2 mots de passes sont identiques
    if($passe === $passe2)
    {
        // Je vais crypter le mot de passe.
        $passe = password_hash($passe,PASSWORD_ARGON2ID);
    }
    else
    {
    echo('Vos mots de passe ne sont pas identiques,veuillez recommencer');
    }
     try
     {
           // D'abord, je me connecte à la base de données.
 
     $bdd = new PDO('mysql:host=localhost;dbname=mzfs_albert','root','');
     $bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
     $bdd->beginTransaction();    
      var_dump($_POST);   
     //on insère les données reçues
     $sth=$bdd->prepare("INSERT INTO validation(nom,prenom,pseudo,passe,email) VALUES(:nom, :prenom, :pseudo, :passe, :email)");
        $sth->bindParam(':nom',$nom);
         $sth->bindParam(':prenom',$prenom);
         $sth->bindParam(':pseudo',$pseudo);
         $sth->bindParam(':passe',$passe);
         $sth->bindParam(':email',$email);
         $sth->execute();
 
     $bdd->commit();
     }
 
        catch(PDOException $e)
        {
            echo('Erreurs: '.$e->getMessage());
        }
 
?>
A moins que cela ne soit dans ma base de donnée?