Menu

Problème avec une adresse mail

Messages postés
5
Date d'inscription
jeudi 2 février 2017
Statut
Membre
Dernière intervention
6 juillet 2019
- - Dernière réponse : clend
Messages postés
5
Date d'inscription
jeudi 2 février 2017
Statut
Membre
Dernière intervention
6 juillet 2019
- 6 juil. 2019 à 03:55
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.
Afficher la suite 

2 réponses

Messages postés
14500
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 juillet 2019
166
0
Merci
Quel est ton code ?
Sans cela impossible de t'aider.
Commenter la réponse de NHenry
Messages postés
5
Date d'inscription
jeudi 2 février 2017
Statut
Membre
Dernière intervention
6 juillet 2019
0
Merci
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) !
Commenter la réponse de clend