Gerer les comptes des utilisateur
Résolu
dodi
-
dodi -
dodi -
Bonjour,
J'ai une base de données dont une table contenant l'id (user,admin,visitor) et le pseudo et le mot de passe
qui se renvoie par un formulaire (sign_in) vers la page conx.php:
et je veux que le touts les infos d'utilisateurs seront vérifiées (le mot de passe et le pseudo avant qu'il soit diriger vers une page selon son id )
et merci d'avance
J'ai une base de données dont une table contenant l'id (user,admin,visitor) et le pseudo et le mot de passe
qui se renvoie par un formulaire (sign_in) vers la page conx.php:
<?php
mysql_connect("localhost","root","");
mysql_select_db("ma_base");
$pseudo=$_POST['pseudo'];
$password=$_POST['password'];
$sql = "SELECT id FROM utilisateur WHERE pseudo='$pseudo'";
$req = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_assoc($req);
if ($data['id']=='admin' /*&& $data['password']=='$password'*/) {
header('Location:home3.html');}
else if ($data['id']=='user' /*&& $data['password']=='$password'*/) {
header('Location:home.html');}
else if ($data['id']=='visitor'/* && $data['password']=='$password'*/) {
header('Location:home2.html');}
?>
et je veux que le touts les infos d'utilisateurs seront vérifiées (le mot de passe et le pseudo avant qu'il soit diriger vers une page selon son id )
et merci d'avance
A voir également:
- Gerer les comptes des utilisateur
- Gerer les profils netflix - Guide
- Comment gérer les applications qui se lancent au démarrage - Guide
- Gerer stockage google - Guide
- 2 comptes whatsapp double sim - Guide
- Compte d'utilisateur - Guide
2 réponses
Pas mal de confusion dans le dernier commentaire :
- d'où sort la variable et le paramètre t_num ?
- idem pour la variable $resultat
- tu utilises des paramètres nommés dans ta requête (:t_num) or ceci n'est possible qu'avec les requêtes préparées via l'api PDO
Bref, en reprenant le code de ton premier message nous pouvons faire quelque chose comme ceci :
Ne sachant pas si ce traitement de formulaire est effectué sur la même page que le formulaire ou sur une autre page, le message d'erreur est simplement stocké dans une variable $error.
Si le traitement est effectué sur la même page que le formulaire, on peut simplement afficher cette variable sur la page.
Si le traitement est effectué sur une autre page, on pourrait faire une redirection pour revenir sur la page du formulaire en transmettant le message d'erreur via un paramètre GET ou via la session php.
- d'où sort la variable et le paramètre t_num ?
- idem pour la variable $resultat
- tu utilises des paramètres nommés dans ta requête (:t_num) or ceci n'est possible qu'avec les requêtes préparées via l'api PDO
Bref, en reprenant le code de ton premier message nous pouvons faire quelque chose comme ceci :
<?php mysql_connect("localhost","root",""); mysql_select_db("ma_base"); $sql = "SELECT id FROM utilisateur WHERE pseudo='" . mysql_real_escape_string($_POST['pseudo']) . "' AND password='" . mysql_real_escape_string($_POST['password']) . "'"; $req = mysql_query($sql) or die(mysql_error()); $data = mysql_fetch_assoc($req); if (!$data) { $error = 'Mauvais pseudo ou mot de passe.'; } else { session_start(); $_SESSION['id'] = $data['id']; $redirect = 'index.html'; if ($data['id']=='admin') { $redirect = 'home3.html'; } elseif ($data['id']=='technician') { $redirect = 'home.html'; } elseif ($data['id']=='sis_user') { $redirect = 'home2.html'; } header('Location: ' . $redirect); exit(); }
Ne sachant pas si ce traitement de formulaire est effectué sur la même page que le formulaire ou sur une autre page, le message d'erreur est simplement stocké dans une variable $error.
Si le traitement est effectué sur la même page que le formulaire, on peut simplement afficher cette variable sur la page.
Si le traitement est effectué sur une autre page, on pourrait faire une redirection pour revenir sur la page du formulaire en transmettant le message d'erreur via un paramètre GET ou via la session php.
dodi
J'ai testé pseudo par t_num dans un autre formulaire ! et je l'ai pas modifié en collant le code ici dans le dernier commentaire
Salut,
Et quelle est la question ? Où est-ce que tu bloques ?
Quelques remarques au passage :
- l'api Mysql est obsolète et supprimée des dernières versions de php, il faudrait passer à Mysqli ou PDO. Plus d'info : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete
- tu as une injection sql possible dans ta requête, il faudrait échapper les caractères sql réservées sur les variables insérées dans ta requête
- en général, une redirection avec l'instruction header() est suivi de l'instruction exit() afin de ne pas exécuter la suite du script
Bonne journée,
Et quelle est la question ? Où est-ce que tu bloques ?
Quelques remarques au passage :
- l'api Mysql est obsolète et supprimée des dernières versions de php, il faudrait passer à Mysqli ou PDO. Plus d'info : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete
- tu as une injection sql possible dans ta requête, il faudrait échapper les caractères sql réservées sur les variables insérées dans ta requête
- en général, une redirection avec l'instruction header() est suivi de l'instruction exit() afin de ne pas exécuter la suite du script
Bonne journée,
Je veux dire ,vérifier si le password et pseudo sont identiques comme
mais je ne sais pas comment effectuer des sessions et au meme temps rediriger les utilisateurs vers des pages selon leurs Id
$req ="SELECT id FROM utilisateur WHEREpseudo = :pseudo AND password = :password";
$data = mysql_fetch_assoc($req);
if (!$resultat)
{
echo 'Mauvais identifiant ou mot de passe !';
}
else
{
session_start();
$_SESSION['id'] = $resultat['id'];
$_SESSION['t_num'] = $t_num;
echo 'Vous êtes connecté !';
}
mais je ne sais pas comment effectuer des sessions et au meme temps rediriger les utilisateurs vers des pages selon leurs Id