Bonjour à tous,

J'ai un soucis d'affichage d'un message d'erreur, mais je n'ai aucune idée pourquoi. J'aurai besoin de vos connaissances.

Control du formulaire:
Code PHP : 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
if (isset($_POST['logIn'])) {
 
    // On initialise le tableau des erreurs
    $errors_log = [];    
 
/* Controle EMAIL
*****/
 
        if (empty($_POST['email']) OR !verifmail($_POST['email'])) {
            $id_ctrl = 1;
            $erreur_form = 'erreur_form_alert';
            $errors_log['email'] = $erreur_form;            
            $erreur_mail_pass = " Verifier votre email et/ou votre mot de passe ! ";
        }
 
if(!empty($_POST['email'])){           
 
            $inc_con_bdd = (file_exists(ROOT_ADMIN_APP . 'class_db.php')) ? include_once (ROOT_ADMIN_APP . 'class_db.php') : false;
 
            $sql = "SELECT * FROM users WHERE email = :email";
 
            $req = $bdd->prepare($sql);    
            $req->bindValue(":email", $_POST['email'], PDO::PARAM_STR);  
            $req->execute();
            $user = $req->fetch();      
 
            if(!$user){  
 
                $id_ctrl = 2;                  
 
                // CSS mise en forme alerte
                $erreur_form = 'erreur_form_alert';
                $errors_log['email'] = $erreur_form;  
 
                // Proposition si mail existe pas !
                $erreur_mdp_modif = "Mot de passe perdu ?";
                $erreur_text = "Voulez vous créer un compte ?";              
 
		//header("location: index.php?p=register");
            }

J'appelle le control du code erreur
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
           <?php if (isset($errors_log) ) : ?>
                <div class="<?php echo @$erreur_form ?>"> 
                    <?php if ($id_ctrl = 1 ) : ?>                        
                        <p><?php echo @$erreur_mail_pass; ?></p>  
                    <?php else: ?>
                        <a href="#"><?php echo @$erreur_mdp_modif ?></a> - 
                        <a href="#"><?php echo @$erreur_text ?></a>                                 
                    <?php endif ?>                                                 
                </div>
            <?php endif ?>

Alors mon soucis ce situe dans la partie else et ne fait pas apparaitre les deux liens avec les propositions de liens et cela malgré ($id_ctrl ) reconnu !
Je rajoute les dumps:

Erreur formulaire vide:
C:\wamp64\www\pizzeria\admin\includes\function.php:9:int 1
C:\wamp64\www\pizzeria\admin\includes\function.php:9:string ' Verifier votre email et/ou votre mot de passe ! ' (length=49)
C:\wamp64\www\pizzeria\admin\includes\function.php:9:null
C:\wamp64\www\pizzeria\admin\includes\function.php:9:null
Erreur en cas de non existence du mail dans la bdd:
C:\wamp64\www\pizzeria\admin\includes\function.php:9:int 2
C:\wamp64\www\pizzeria\admin\includes\function.php:9:null
C:\wamp64\www\pizzeria\admin\includes\function.php:9:string 'Mot de passe perdu ?' (length=20)
C:\wamp64\www\pizzeria\admin\includes\function.php:9:string 'Voulez vous créer un compte ?' (length=30)
En fait, les valeurs => "$erreur_mdp_modif" ainsi que => "$erreur_text" existe, mais ne s'affiche pas après else.

Voila j'espère que j'ai n'ai pas été trop brouillon dans mon explication.
Merci de vos aides et explications

JLuc