Plusieurs choix pour mon formulaire
Fermé
Marc
-
Modifié par jordane45 le 8/06/2016 à 11:46
jordane45 Messages postés 38441 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 février 2025 - 8 juin 2016 à 11:46
jordane45 Messages postés 38441 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 février 2025 - 8 juin 2016 à 11:46
A voir également:
- Plusieurs choix pour mon formulaire
- Liste déroulante de choix excel - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Le formulaire rempli - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
2 réponses
diablo13800
Messages postés
2890
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
16 février 2024
1 857
7 juin 2016 à 15:19
7 juin 2016 à 15:19
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)
jordane45
Messages postés
38441
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 février 2025
4 737
Modifié par jordane45 le 8/06/2016 à 11:46
Modifié par jordane45 le 8/06/2016 à 11:46
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
7 juin 2016 à 15:21
Désolé de vous déranger.
7 juin 2016 à 15:59
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
8 juin 2016 à 10:43
8 juin 2016 à 10:49
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) .