IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Interaction base de données


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Par défaut Interaction base de données
    Bonjour,
    voilà, je suis toute débutante et je ne comprends absolument rien au php, malgré de nombreux livres et sites sous la main.
    Je n'attends pas de vous que vous me fassiez ce que je veux, mais surtout des explications, conseils et méthodologies.

    Je voudrai créer une page avec un formulaire de connexion de sorte que suivant les personnes, des pages différentes soient accessibles. Exemple: un client accède à la page x , un administrateur à la page y.

    J'ai créer ma base de données avec une table clients et administrateurs. Pour chacune, j'ai rentré deux informations : login, password. J'ai ensuite créer une personne dans chaque table.
    Maintenant je suis un peu perdue....

    Je pense qu'il faut faire de la sorte:
    1- créer une page avec un formulaire de connexion.
    2- se connecter à la base de données avec un "include"

    Mais après je ne sais plus..... De plus, je n'arrive pas à savoir où placer les éléments (dans quelle page etc...). Bref, je suis totalement perdue et je bataille depuis 2Heures....

    Est-ce que quelqu'un pourrait éclairer ma lanterne?? je sais que ce n'est pas compliqué en plus......

    Je vous remercie d'avance

    je veux dire par là : est-ce que vous pourriez me donner la méthode:
    quel script créer , de quelle manière, où le placer etc...

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    Tu aurais pu faire une seule table users avec un champ user_is_admin (ENUM -'0','1' - par défaut : 0)

    Cela te permettra d'interroger une seule table au lieu de 2.

    Ensuite lorsque tu as vérifié que l'utilisateurs avait les bons login/ mot de passe, tu récupères la valeur du champ user_is_admin .

    Si c'est 0 : tu le rediriges vers la page pour les utilisateurs
    Si c'est 1 : tu le rediriges sur la page des admins.

    Pour la redirection tu peux utiliser la fonction header() comme dans l'exemple ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    $q = "SELECT user_login, user_pass, user_is_admin 
         FROM la_table_users 
         WHERE user_login = '" . mysql_real_escape_string($_POST['login_saisi']) ."'
         AND user_pass = '". mysql_real_escape_string($_POST['pass_saisi']) ."' ";
     
    $r = mysql_query($q) or die(mysql_error());
    $nb = mysql_num_rows($r);
     
     
    if($nb == 0){ //l'utilisateur n'existe pas
    header("Location: http://www.tonsite.com/ta_page_erreur.php");
    exit;
    }
    else{ // l'utilisateur existe
     
    $is_admin = mysql_result($r, 0, "user_is_admin");
     
    if($is_admin == 1){ // c'est un admin
    header("Location: http://www.tonsite.com/ta_page_admin.php");
    }
    else{
    header("Location: http://www.tonsite.com/ta_page_utilisateur.php");
    }
    }
    ?>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Par défaut
    merci beaucoup, cela va bien m'aider, mais comment faut il faire pour vérifier que l'utilisateur existe bien?

    Est-ce comme ça qu'il faut faire ? : 1 fichier formulaire (avec des includes , et le code donné ci-dessus) - 1 script connexion à la bdd ?

    En bref, si je pars du principe que je fais un formulaire sur une page, combien de script dois-je faire à côté pour arriver à mes fins?

    (je ne sais pas si je m'exprime bien .... )

  4. #4
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Tu as 2 pages à faire :

    - 1 formulaire avec action="la_page_traitement.php"
    - 1 page la_page_traitement.php avec le script de vérif + redirection

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Par défaut
    merci beaucoup, je vais retenter l'expérience

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Par défaut
    Bonjour,

    j'essaie depuis hier différents codes pour l'anthentification mais je tombe toujours sur la même erreur.
    Quand j'essaie de me logger la page renvoie "Warning : mysql_pconnect(): Accès refusé pour l'utilisateur 'x'&'@localhost' (mot de passe : OUI) in c:.....cnx_bdd.php on line 6. Accès refusé pour l'utilisateur : 'x'@'@localhost' (mot de passe : OUI) "

    Et voici la page où il doit y avoir l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $hostname ="localhost";
    $database = "mabase";
    $username="x";
    $password="pass";
    $connection=mysql_pconnect($hostname, $username, $password) or de (mysql_error());
    ?>
    Pouvez vous m'aider ?

  7. #7
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Il faut que tu mettes le nom d'utilisateur et le mot de passe qu'il faut.


    pourquoi mysql_pconnect ?
    essaie avec mysql_connect ( mais avec les bon codes)

  8. #8
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 33
    Par défaut
    mysql_pconnect, je suppose que c'est pour prendre l'habitude de clore la connexion à la fin du script. Mais pourquoi tu as une variable $connection?

  9. #9
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    mysql_pconnect, je suppose que c'est pour prendre l'habitude de clore la connexion
    Non :
    mysql_pconnect ouvre une connexion persistante à un serveur MySQL.
    Mais cela n'a sans doute aucune utilité dans ce cas.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Par défaut
    j'utilise pconnect parce qu'on m'a toujours appris à le faire comme ça. De plus, il s'agit d'un code repiqué sur un ancien de voir à moi, donc j'avoue que je ne sais pas pourquoi il y a la variavle $connection.

    Quand on me dit de mettre le bon mot de passe et le bon nom d'utilisateur, qu'est-ce que vous entendez par là?

  11. #11
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Pour se connecter à Mysql, il faut fournir un nom d'utilisateur , un mot de passe et préciser le nom de la table. (sinon n'importe qui pourrait se connecter)

    Cela veut dire que tu dois avoir créé un utilisateur dans MySql, lui avoir octroyé des droits (lire , modifier, supprimer / GRANT) et que l'hôte qui se connecte soit autorisé.

    Si c'est en local et que tu utilises easyphp, je crois que le nom d'utilisateur c'est root et le mot de passe : il n'y en a pas

    Pour ça il faut que tu nous dises quel système tu utilises.

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/04/2018, 16h02
  2. Middleware interaction applications/base de données
    Par ytheo dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/01/2011, 14h11
  3. Interaction avec une base de données
    Par despeludo dans le forum Excel
    Réponses: 1
    Dernier message: 24/11/2009, 11h10
  4. Réponses: 1
    Dernier message: 13/09/2009, 10h51
  5. Interaction entre les bases de données ACCESS
    Par mimi_01 dans le forum Access
    Réponses: 2
    Dernier message: 18/02/2009, 12h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo