Gerer les comptes des utilisateur
Résolu/Fermé
A voir également:
- Gerer les comptes des utilisateur
- Gerer les profils netflix - Guide
- Gerer foyer netflix - Accueil - Guide streaming
- Comment gérer les applications qui se lancent au démarrage - Guide
- 2 comptes whatsapp - Guide
- Gerer stockage google - Guide
2 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
Modifié par Pitet le 7/09/2016 à 11:52
Modifié par Pitet le 7/09/2016 à 11:52
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.
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
7 sept. 2016 à 11:25
7 sept. 2016 à 11:25
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,
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
7 sept. 2016 à 11:32
7 sept. 2016 à 11:32
Que veux tu dire par "vérifier si la connexion est valide" ?
Comment définis tu qu'une connexion est valide ou invalide ?
Est-ce normal que la vérification du mot de passe soit commentée ?
Comment définis tu qu'une connexion est valide ou invalide ?
Est-ce normal que la vérification du mot de passe soit commenté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
7 sept. 2016 à 11:55