A voir également:
- Plusieurs choix pour mon formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Liste déroulante de choix excel - Guide
- Formulaire de reclamation instagram - Guide
- Formulaire de contact le bon coin introuvable ✓ - Forum Réseaux sociaux
2 réponses
Bonjour,
Faire une requête pour allez cherche le mot de passe et le vérifier, c'est un bon début pour la connexion, mais vous ne cherché aucune autre info concernant le login. Il faudrait que vous alliez cherché le type de contrat dans la base de donnée une fois que la personne s'est connecté .
En gros :
Vérifier le mot de passe => Si réussi :
-chercher le type de contrat (Requête SQL )
-Faire votre If /else if ( Un switch case serait préférable à mon avis)
Faire une requête pour allez cherche le mot de passe et le vérifier, c'est un bon début pour la connexion, mais vous ne cherché aucune autre info concernant le login. Il faudrait que vous alliez cherché le type de contrat dans la base de donnée une fois que la personne s'est connecté .
En gros :
Vérifier le mot de passe => Si réussi :
-chercher le type de contrat (Requête SQL )
-Faire votre If /else if ( Un switch case serait préférable à mon avis)
Bonjour,
voici ton code remis en forme et corrigé
NB: Mais il serait bien de le passer à PDO ou mysqli comme indiqué dans les messages précédents.
NB² : Parmis les modifications apportées à ton code.. tu verras :
- 1 Seule requête et non deux
- L'utilisation d'un SWITCH au lieu de if/elseif..; à répétition
- La simplification du code en évitant d'utiliser 20 fois les mêmes instructions partout dans ton code... en utilisant à la place une variable et en appellant la fonction qu'une fois ( pour la redirection par exemple ou l'initialisation de la variable de session.... )
Voila pour l'essentiel.... je te laisse poursuivre.
Cordialement,
Jordane
voici ton code remis en forme et corrigé
<?php //Affichage des erreurs PHP error_reporting(E_ALL); //démarrage des sessions (on le fait UNE FOIS au début de la page.. pas ailleurs !!! ) session_start(); //Fichier de config/connexion à la bdd require_once "conf.php"; //récupération "propre" des variables AVANT de les utiliser ! $login = !empty($_POST['login']) ? $_POST['login'] : NULL; $password = isset($_POST['password']) ? $_POST['password'] : NULL; //Traitement du formulaire : if($login && $password) { $sql = "select password,contrat from users where login='".$login."'"; $result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $nbResult = $num_rows = mysql_num_rows($result); $data = mysql_fetch_assoc($result); if($data['password'] != $password || $nbResult==0) { $url = 'connect.php'; echo '<script type="text/javascript">document.location.href="'.$url.'" </script>'; exit(); }else{ $con = $data['contrat']; $_SESSION['login'] = $login; switch($con){ case "tec": $url = "tec_s3a/login_tec.php"; break; case "ce": $url = "CE/login_ce.php"; break; case "ca": $url = "ca/login_ca.php"; break; case "admin": $url = "admin/login_admin.php"; break; case "administration": $url = "administation/login_administration.php"; break; case "inter": $url = "inter/inter.php"; break; default: unset($_SESSION['login']); $url = "connect1.php"; break; } echo '<script type="text/javascript">document.location.href="'.$url.'" </script>'; exit(); } } ?>
NB: Mais il serait bien de le passer à PDO ou mysqli comme indiqué dans les messages précédents.
NB² : Parmis les modifications apportées à ton code.. tu verras :
- 1 Seule requête et non deux
- L'utilisation d'un SWITCH au lieu de if/elseif..; à répétition
- La simplification du code en évitant d'utiliser 20 fois les mêmes instructions partout dans ton code... en utilisant à la place une variable et en appellant la fonction qu'une fois ( pour la redirection par exemple ou l'initialisation de la variable de session.... )
Voila pour l'essentiel.... je te laisse poursuivre.
Cordialement,
Jordane
Désolé de vous déranger.
Regardais bien vous stocké la requete SQL dans $con, et non le retour d'un fetch assoc par exemple.
PS: Faite attention , mysql est déprécié, Il serait sans doute plus facile d'utilisé PDO ou Mysqli
Déprécié signifie juste que du jour au lendemain ça peut ne pas marché , et ce n'est pas ce qui est le plus optimisé en terme de rapidité d’exécution, et c'est surtout pas apprécié en règle générale.
Et PDO et mysqli(ce dernier est une version plus évolué à mysql) ont plus de fonctionnalité qui peuvent être utile comme la possibilité de préparer ses requête avant de les exécuter avec des variable que tu utilise dans ton code ( et écris de manière plus propre) .