mysql_num_rowsimplémentés pour savoir si user_acces est égal à 1 ou à 2, non ?
// On ouvre la session session_start(); // Démarre une nouvelle session ou reprend une session existante // Sélectionnement de l'utilisateur désiré dans la base de données $query_connexion_generale=mysql_query("SELECT user_pseudo FROM user WHERE user_pseudo = '$identifiant_connexion' AND user_mdp = '$password_connexion_sha1'") or die('Erreur lors de la connexion générale'.mysql_error()); // Envoie une requête à un serveur MySQL // Test si l'utilisateur est inscrit - réponse positive if(mysql_num_rows($query_connexion_generale) == 1) { // mysql_num_rows retourne le nombre de lignes d'un résultat MySQL echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes.</center>"; echo '<meta http-equiv="refresh" content="5;URL=/adresse.php">'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox setcookie("tentative_connexion_acces4roues", "", time() - 3600, '/'); // Pour réinitialiser le cookie $query_connexion_administrateur=mysql_query("SELECT `user_pseudo` FROM user WHERE user_pseudo = \'$identifiant_connexion\' AND user_mdp = \'$password_connexion_sha1\' AND `user_acces` = "1"") or die('Erreur lors de la connexion de l\'administrateur'.mysql_error()); // Envoie une requête à un serveur MySQL if(mysql_num_rows($query_connexion_administrateur) == 1) { // mysql_num_rows retourne le nombre de lignes d'un résultat MySQL $_SESSION['Statut'] == 1; session_start(); $_SESSION['Statut'] == 1; echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes.</center>"; echo '<meta http-equiv="refresh" content="5;URL=adresse.php">'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox } }
Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes. Erreur lors de la connexion de l'administrateurYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'Testadmin\' AND user_mdp = \'247d4d811e7f104ea7c128cd2f1be63d97ac88d5\'' at line 1
Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes. Erreur lors de la connexion de l'administrateurYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'Testmembre\' AND user_mdp = \'b746c6c3053268eefdaaa1a30dc3cbae67e9099c\' AND `' at line 1
CREATE TABLE IF NOT EXISTS `user` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `user_comptesactives` decimal(10,0) NOT NULL, `user_pseudo` varchar(255) CHARACTER SET utf8 NOT NULL, `user_mdp` varchar(255) CHARACTER SET utf8 NOT NULL, `user_inscription` datetime NOT NULL, `user_naissance` date NOT NULL, `user_email` varchar(255) CHARACTER SET utf8 NOT NULL, `user_localisation` varchar(255) CHARACTER SET utf8 NOT NULL, `user_profession` varchar(255) CHARACTER SET utf8 NOT NULL, `user_avatars` varchar(255) CHARACTER SET utf8 NOT NULL, `user_derniere_visite` datetime NOT NULL, `user_bannis` int(11) NOT NULL, `user_acces` int(1) unsigned NOT NULL DEFAULT '2', PRIMARY KEY (`user_id`), UNIQUE KEY `user_pseudo` (`user_pseudo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=88 ;
Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher membre.
// Sélectionnement de l'utilisateur désiré dans la base de données $query_connexion_generale=mysql_query("SELECT user_pseudo FROM user WHERE user_pseudo = '$identifiant_connexion' AND user_mdp = '$password_connexion_sha1'") or die('Erreur lors de la connexion générale'.mysql_error()); // Envoie une requête à un serveur MySQL $query_connexion_administrateur=mysql_query("SELECT user_pseudo FROM user WHERE user_pseudo = '$identifiant_connexion' AND user_mdp = '$password_connexion_sha1' AND `user_acces` = '1'") or die('Erreur lors de la connexion de l\'administrateur'.mysql_error()); // Envoie une requête à un serveur MySQL // Test si l'utilisateur est inscrit - réponse positive if(mysql_num_rows($query_connexion_generale) == 1) { // mysql_num_rows retourne le nombre de lignes d'un résultat MySQL if(mysql_num_rows($query_connexion_administrateur) == 1) { // mysql_num_rows retourne le nombre de lignes d'un résultat MySQL $_SESSION['statut_connexion'] == Administrateurs; echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher admin.</center>"; echo '<meta http-equiv="refresh" content="5;URL=adresse.php">'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox } else echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher membre.</center>"; echo '<meta http-equiv="refresh" content="5;URL=/adresse.php">'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox $_SESSION['statut_connexion'] == Membres; }
$query_connexion_generale) pour savoir si le pseudo de l'utilisateur est dans la base de données. Après, j'essaie de lui dire (c'est là que je n'arrive pas) : si le pseudo saisi est égal au pseudo de l'administrateur dans la base de données (
$query_connexion_administrateuralors tu rentres dans le if qui est imbriqué (
if(mysql_num_rows($query_connexion_administrateur) == 1)) sinon tu ne fais pas le if imbriqué. Par contre si le pseudo saisi ne rentre pas dans les deux tests if alors ça veux dire qu'il n'est pas dans la base de données et donc pas inscrit, tu ne fait pas les deux tests et tu passes directement dans
else echo "<center>Vous n'êtes pas inscrit. Merci de vous inscrire.</center>";}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$query_connexion_generale=mysql_query("SELECT user_pseudo FROM user WHERE user_pseudo = '$identifiant_connexion' AND user_mdp = '$password_connexion_sha1' AND `user_acces` = '2'") or die('Erreur lors de la connexion générale'.mysql_error()); // Envoie une requête à un serveur MySQL
Salut, dommage, tu as opté pour la solution la plus simple et pas utilisable pour un Back-office.
Mais l'important c'est d'avancer vers l'avant chacun à son rythme.
- si c'est l'administrateur (moi) qui se connecte
- si ce sont les membres qui se connectent
- si le nom d'utilisateur n'est pas dans la base de données et donc il n'est pas inscrit ?
<?php if ($user_acces === 1) { *... } elseif ($user_acces === 2) { *... } else { *... }
Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher membre., je n'arrive pas à lui faire passer si c'est le cas où c'est un administrateur. Pour l'instant, je me ne suis pas occupé du cryptage du mot de passe dans la base de données en SHA1.
$query_connexion=mysql_query("SELECT user_pseudo FROM user WHERE user_pseudo = '$identifiant_connexion' AND user_mdp = '$password_connexion' AND user_acces = '1'") or die('Erreur lors de la connexion générale'.mysql_error()); // Envoie une requête à un serveur MySQL // Test si l'utilisateur est inscrit - réponse positive if(mysql_num_rows($query_connexion) == 1) { // mysql_num_rows retourne le nombre de lignes d'un résultat MySQL echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher admin.</center>"; echo '<meta http-equiv="refresh" content="5;URL=/adresse.php">'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox $_SESSION['statut_connexion'] == Administrateurs; } else { echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher membre.</center>"; setcookie("nom_cookie", "", time() - 3600, '/'); // Pour réinitialiser le cookie $_SESSION['statut_connexion'] == Membres; } }
if(mysql_num_rows($query_connexion) == 0):
Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher admin.
CREATE TABLE IF NOT EXISTS `user` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `user_comptesactives` decimal(10,0) NOT NULL, `user_pseudo` varchar(255) CHARACTER SET utf8 NOT NULL, `user_mdp` varchar(255) CHARACTER SET utf8 NOT NULL, `user_inscription` datetime NOT NULL, `user_naissance` date NOT NULL, `user_email` varchar(255) CHARACTER SET utf8 NOT NULL, `user_localisation` varchar(255) CHARACTER SET utf8 NOT NULL, `user_profession` varchar(255) CHARACTER SET utf8 NOT NULL, `user_avatars` varchar(255) CHARACTER SET utf8 NOT NULL, `user_derniere_visite` datetime NOT NULL, `user_bannis` int(11) NOT NULL, `user_acces` int(1) unsigned NOT NULL DEFAULT '2', PRIMARY KEY (`user_id`), UNIQUE KEY `user_pseudo` (`user_pseudo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=93 ;
mysql_num_rows, non ?
<?php $query_connexion=mysql_query("SELECT user_pseudo,user_acces FROM *...
<?php // Test si l'utilisateur est inscrit - réponse positive if(mysql_num_rows($query_connexion) == 1) { // mysql_num_rows retourne le nombre de lignes d'un résultat MySQL
<?php $row = mysql_fetch_row($query_connexion, MYSQL_ASSOC); if ($row['user_acces'] === 1) { *... } elseif ($row['user_acces'] === 2) { *... } else { *... }
Vous n'êtes pas inscrit. Merci de vous inscrire.
$query_connexion=mysql_query("SELECT user_pseudo,user_acces FROM user WHERE user_pseudo = '$identifiant_connexion' AND user_mdp = '$password_connexion'") or die('Erreur lors de la connexion générale'.mysql_error()); // Envoie une requête à un serveur MySQL $row = mysql_fetch_row($query_connexion, MYSQL_ASSOC); if ($row['user_acces'] === 1) { echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher admin.</center>"; //echo '<meta http-equiv="refresh" content="5;URL=/adresse.php">'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox $_SESSION['statut_connexion'] == Administrateurs; } elseif ($row['user_acces'] === 2) { echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes cher membre.</center>"; setcookie("nom_cookie", "", time() - 3600, '/'); // Pour réinitialiser le cookie $_SESSION['statut_connexion'] == Membres; }
else { echo "<center>Vous n'êtes pas inscrit. Merci de vous inscrire.</center>"; } }