C:.php:93: array (size=0) empty Erreurs: SQLSTATE[23000]: violation: 1048 Le champ 'nom' ne peut �tre vide
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:
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:
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? |