Bonjour a l'aide en php

Fermé
dillapidateur Messages postés 2 Date d'inscription jeudi 27 juillet 2017 Statut Membre Dernière intervention 28 juillet 2017 - Modifié le 27 juil. 2017 à 16:47
jordane45 Messages postés 38152 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 mai 2024 - 28 juil. 2017 à 18:38
Bonjour*


je voudrais de l'aide j'ai realiser une page d'authentification avec login,mot de passe et profile.
dans profile j'ai deux choix a faire soit central soit pharmacie comment faire sa par les requete merci
A voir également:

3 réponses

jordane45 Messages postés 38152 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 mai 2024 4 652
27 juil. 2017 à 18:40
Bonjour,

Déjà ... sans rien savoir de ton code... difficile de comprendre de quoi tu parles...;

Ensuite... tu parles de "requête" .... Ta question concerne alors le code PHP (présent forum....) ou bien le langage SQL ???
Si langage SQL ... quelle est la structure de ta bdd ?
Quel SGBD utilises tu ?
Que contient ta BDD et que veux tu exactement obtenir ?

Bref... tu auras compris, vu mes questions, que tes explications sont loin d'être suffisante....


0
dillapidateur Messages postés 2 Date d'inscription jeudi 27 juillet 2017 Statut Membre Dernière intervention 28 juillet 2017
Modifié le 28 juil. 2017 à 11:31
D'accord Jordan bonjour,j'utilise SqL comme langage,MSQL comme SGBD.
J'ai une table utilisateur_central(id_utilisateur,id_central,pseudo_utilisateur et Mot_de_passe),j'ai une autre table utilisateur_pharmacie(id_utilisateur,id_pharmacie,pseudo_utilisateur et Mot_de_passe) ses deux table héritent de la table utilisateur(id_utilisateur).
je voudrais au niveau de la page d'authentification choisir le profil en fonction de son utilisateur avec son login et mot de passe.par exemple un utilisateur de la central choisie central dans le menu déroulant il met son login et mot de passe sa l’amène au niveau de la page d’accueil de la central ainsi aussi pour la pharmacie.
désoler mon explication a été longue Merci.
voici le code:
<?php
session_start();
include('connect.php');
if(isset($_POST['submit']))
{
$PSEUDO_UTILISATEUR=mysql_real_escape_string(htmlspecialchars(trim($_POST['PSEUDO_UTILISATEUR'])));
$MOT_DE_PASSE_UTILISATEUR=mysql_real_escape_string(htmlspecialchars(trim($_POST['MOT_DE_PASSE_UTILISATEUR'])));
$Profil=mysql_real_escape_string(htmlspecialchars(trim($_POST['Profil'])));
 if($PSEUDO_UTILISATEUR && $MOT_DE_PASSE_UTILISATEUR && $Profil )
 {
  
  echo"Connexion echouer login ou mot de passe incorrect ! Veuillez reessayer encore !!!";
 } else echo"veuillez saisir tous les champs";
}

 if(isset($_POST['PSEUDO_UTILISATEUR']) and isset($_POST['MOT_DE_PASSE_UTILISATEUR'])){
  $req=mysql_query("SELECT * FROM utilisateur_centrale WHERE PSEUDO_UTILISATEUR='$PSEUDO_UTILISATEUR' AND MOT_DE_PASSE_UTILISATEUR='$MOT_DE_PASSE_UTILISATEUR'");
  $row=mysql_num_rows($req);
  if($row==1)
  {
  $_session['login']=$login;
        header("Location: accueil.php");
  
  }
  if(isset($_POST['PSEUDO_UTILISATEUR']) and isset($_POST['MOT_DE_PASSE_UTILISATEUR'])){
  $req=mysql_query("SELECT * FROM utilisateur_pharmacie WHERE PSEUDO_UTILISATEUR='$PSEUDO_UTILISATEUR' AND MOT_DE_PASSE_UTILISATEUR='$MOT_DE_PASSE_UTILISATEUR'");
  $row=mysql_num_rows($req);
  if($row!=1)
  {
  $_session['login']=$login;
  }else echo "<script> alert(\"Connexion echouer login ou mot de passe incorrect !\")</script>";
  $erreur="Veuillez reessayer encore !!! ";
 }
 }
?>

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
0
jordane45 Messages postés 38152 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 mai 2024 4 652
28 juil. 2017 à 18:38
Bonjour,

Donc tu dis :
,MSQL comme SGBD

Hors... tu utilises l'extension mysql dans ton code ....
Donc soit tu n'utilises pas les bonnes instructions..... soit ton sgbd est MYSQL et non MSSQL ...

Ensuite... au niveau de ton code... il peut s'écrire plus proprement ainsi :
<?php
session_start();

//affichage des erreurs php
error_reporting(E_ALL);
ini_set('display-errors','on');

//connexion à la bdd
require_once 'connect.php';

//Traitement du submit
if(isset($_POST['submit'])){

  //récupération PROPRE des variables AVANT de les utiliser
  $PSEUDO_UTILISATEUR = !empty($_POST['PSEUDO_UTILISATEUR']) ? trim($_POST['PSEUDO_UTILISATEUR']) : NULL;
  $MOT_DE_PASSE_UTILISATEUR = !empty($_POST['MOT_DE_PASSE_UTILISATEUR']) ? trim($_POST['MOT_DE_PASSE_UTILISATEUR']) : NULL;
  $Profil = !empty($_POST['Profil']) ? trim($_POST['Profil']) : NULL;
  
 if( !$PSEUDO_UTILISATEUR || !$MOT_DE_PASSE_UTILISATEUR || !$Profil ) {
   echo "<script type='text/javascript'>alert('veuillez saisir tous les champs')</script>";  
 }
 
 if($PSEUDO_UTILISATEUR && $MOT_DE_PASSE_UTILISATEUR){
    $sql = "SELECT * 
           FROM utilisateur_centrale 
           WHERE PSEUDO_UTILISATEUR='".mysql_real_escape_string($PSEUDO_UTILISATEUR)."' 
           AND MOT_DE_PASSE_UTILISATEUR='".mysql_real_escape_string($MOT_DE_PASSE_UTILISATEUR)."'";
    $req = mysql_query($sql)  or die ("Erreur : $sql. ".mysql_error());
    $row = mysql_num_rows($req);
    
    if($row==1) {
       $_session['login'] = $PSEUDO_UTILISATEUR;
       header("Location: accueil.php");
       exit(); //toujours mettre un exit après une redirection !
    }else{
      echo "<script type='text/javascript'> alert('Connexion echouée : login ou mot de passe incorrect !')</script>";    
    }
 }
 
}
?>


Il faut également savoir que l'extension mysql est obsolète !
Je t'invite vivement à passer à mysqli ou pdo : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top


Je ne comprend pas non plus pourquoi tu as deux tables différentes (ayant toutes les deux le pseudo de l'utilisateur et le password....
UNE SEULE table suffit ... table à laquelle tu ajoute une colonne "profil" pour savoir à quel profil ça correspond.......

sa l’amène au niveau de la page d’accueil de la central ainsi aussi pour la pharmacie.

Dans ton code actuel.... tu n'utilises pas l'information "profil" ....
Si tu veux une redirection vers une page différente en fonction du profil choisi... il te sufft de jouer avec le header('location:....)


PS: Au passage.. tu devrais éviter de mettre des variables en MAJUSCULES ... c'est un coup à se mélanger les pinceaux.
Perso.. soit tu utilises le camelcase soit tu laisses tout en minuscule !







0