Bonjour,

Je suis actuellement occupé sur un système de connexion à un site mais je bloque sur un point:
Si j'entre des valeurs vides dans un champ, elles sont envoyées dans la base de données quand même, j'aimerais que ce ne soit pas le cas.

Pour l'instant j'ai ça:
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
<?php
// inscription
if(isset($_POST['submit']) && isset($_GET['inscription'])){
    $identifiant = isset($_POST['identifiant']) ? htmlspecialchars($_POST['identifiant']) : '';
    $mdp = isset($_POST['mdp']) ? md5(htmlspecialchars($_POST['mdp'])) : '';
    $nom = isset($_POST['nom']) ? htmlspecialchars($_POST['nom']) : '';
    $prenom = isset($_POST['prenom']) ? htmlspecialchars($_POST['prenom']) : '';
    $mail = isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '';
 
    $reqAddUser=$bdd->prepare('INSERT INTO utilisateur (id, identifiant, mdp, nom, prenom, mail, niveau) VALUES (NULL, :identifiant, :mdp, :nom, :prenom, :mail, 1)');
    // Premiere méthode
    $resultatReq = $reqAddUser->execute([
        'identifiant' => $identifiant,
        'mdp' => $mdp,
        'nom' => $nom,
        'prenom' => $prenom,
        'mail' => $mail
    ]);
 
    // Pour vérifier si l'inscription a été faite ou pas (on affiche un message dans le formulaire d'inscription si TRUE ou FALSE)
    if($resultatReq) {
        $_SESSION['validation']=TRUE;
    } else {
        $_SESSION['validation']=FALSE;
        //echo print_r($reqAddUser->errorInfo());
    }
}
Et mon formulaire:
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
 
<?PHP
 
if(!isset($_SESSION['prenomUtilisateur'])){
    echo '<span class="title">Inscription</span>
    <a href="?cacher" class="noDecoration"><input type="button" class="submit" value="Cacher"></a>
    <form method="post" action="">
        <span class="forme">Nom :</span><br>
        <input type="text" name="nom" class="champ" required><br>
        <span class="forme">Prenom :</span><br>
        <input type="text" name="prenom" class="champ" required><br>
        <span class="forme">Adresse mail :</span><br>
        <input type="text" name="mail" class="champ" required><br><br>
        <span class="forme">Identifiant :</span><br>
        <input type="text" name="identifiant" class="champ" required><br>
        <span class="forme">Mot de passe :</span><br>
        <input type="password" name="mdp" class="champ" required><br>';
 
        if(isset($_SESSION['validation']) && $_SESSION['validation']==TRUE){
            echo '<br>Inscription réussie';
            unset($_SESSION['validation']);
        } elseif (isset($_SESSION['validation']) && $_SESSION['validation']==FALSE) {
            echo '<br>Echec de l\'inscription';
            unset($_SESSION['validation']);
        }
 
        echo '<br><input type="submit" value="S\'inscrire" name="submit" class="submit">
        <a href="?connexion">Formulaire de connexion</a>
    </form>';
}
 
 ?>
J'ai justement ajouté des REQUIRED en attribut à mes champs pour que le formulaire ne puisse pas être envoyé vide, mais si je mets des espaces dans les champs, ils ne sont plus vides et sont envoyés comme ça.

Merci