Problème avec une adresse mail [Fermé]

Signaler
Messages postés
21
Date d'inscription
jeudi 2 février 2017
Statut
Membre
Dernière intervention
1 avril 2020
-
Messages postés
21
Date d'inscription
jeudi 2 février 2017
Statut
Membre
Dernière intervention
1 avril 2020
-
Bonjour,

Pour restreindre l'accès à un site par les seuls employés d'une entreprise, je mémorise préalablement dans une table spécifique des Autorisations toutes les adresses email de ces employés fournies par l'employeur. Avec l'obligation pour tout utilisateur patenté de s'enregistrer sur le site avec ladite adresse email personnelle.
Après connexion de tout utilisateur, je vérifie que son adresse email contenue dans la table Users de ma BDD est bien référencée dans ma table spécifique des autorisations ... sinon, je le bloque.

Et là, je bute sur un problème: le test d'égalité me retourne TOUJOURS "false", que l'adresse email de la table users soit présente ou non dans la table autorisations!
nb: le type de donnée est strictement identique pour les 2 tables: varchar ().

Ne faut-il pas utiliser une routine particulière en présence d'adresses email ?

Merci d'avance pour vos conseils éclairés.

2 réponses

Messages postés
14689
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 août 2020
242
Quel est ton code ?
Sans cela impossible de t'aider.
Messages postés
21
Date d'inscription
jeudi 2 février 2017
Statut
Membre
Dernière intervention
1 avril 2020

Bonjour NHenry,

Et grand merci pour ta proposition d'aide.
Voici donc ici le bloc du test d'autorisation ou non et que j'explicite au-dessous du code php & mysqli :


$req = "SELECT id_societe, adresse_mail FROM syw7g_autorisations WHERE ((id_societe = '".$num_societe."') AND (adresse_mail = '".$user_email."'))";
$resultat = $conn->query($req);
$nn = $resultat->num_rows;
if ($nn == 0) {
echo "<div class='encadre-rouge'>Vous n'êtes pas habilité(e) par votre Employeur .à utiliser ce site (etc...) </div>";
}else{
// poursuite du traitement (utilisateur autorisé)
... suite du code

}


Au tout début de ce script, je :
- me connecte à ma BDD ($conn = mysqli_connect(' ... '),
- récupère dans la table des utilisateurs, et après avoir vérifié que l'utilisateur est bien connecté, son adresse mail (cf. $user_email) fournie lors de son inscription sur le site ainsi que le n° de société Employeur (cf. $num_societe),
- la table des Autorisations est très simple, 2 colonnes "id_societe" (type int) & adresse_mail (type varchar) initialement fournie par l'employeur. Avec une ligne par employé autorisé par l'employeur.

À l'utilisation, le test est négatif quelque soit l'utilisateur (présent ou non dans la table des Autorisations) !