Bonsoir,

j'ai un problème que je n'arrive pas à comprendre:
Lorsque je fait le "submit", aucune donnee ne va vers ma base de donnée!
Ce code m'a été gentillement proposé pour qu'il soit plus "propre" que celui que j'avais fait!
J'ai rajouté le if(isset($_POST['Valider'])) et le closeCursor()
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
 <?php
    require_once('connect.php');
    require_once('forminsc.php');
 
$erreurs = [];
if(isset($_POST['Valider']))
{
  if(empty($_POST['pseudo']))   
{
    $erreurs[] = "Le champ pseudo a été omis";
} 
    else 
{
    $sth = $bdd->prepare('SELECT COUNT(*) FROM validation WHERE pseudo = :pseudo');
    $sth->execute(['pseudo' => $_POST['pseudo']]);
        if ($sth->fetchColumn()/* != 0*/) 
 
{
        $erreurs[] = "Ce pseudo est déjà pris, choisissez un autre pseudo!";
}
}
}
if(empty($_POST['passe']) || empty($_POST['passe2'])) 
{
    $erreurs[]= "Le champ mot de passe et/ou sa confirmation ont été omis";    
}
 
else if ($_POST['passe'] != $_POST['passe2']) 
{
    $erreurs[] = "Vos 2 mots de passe ne correspondent pas, veuillez recommencer";
} 
    if($erreurs)
{
    echo 'Veuillez corriger les erreurs suivantes :<br/>';
    foreach ($erreurs as $erreur) 
{
    echo $erreur, '<br/>';
}
} 
    else 
{
    $sth = $bdd->prepare('INSERT INTO validation (nom, prenom, pseudo, passe, email) VALUES (:nom, :prenom, :pseudo, :passe, :email)');
    $sth->bindValue(':nom', $_POST['nom']);
    $sth->bindValue(':prenom', $_POST['prenom']);
    $sth->bindValue(':pseudo', $_POST['pseudo']);
    $sth->bindValue(':passe', password_hash($_POST['passe'], PASSWORD_ARGON2ID));
    $sth->bindValue(':email', $_POST['email']);
    $sth->execute();
    $sth->closeCursor();
}
?>
Merci de votre aide