Connexion avec une base donnée

tazieff Messages postés 14 Statut Membre -  
alexdelareunion Messages postés 555 Statut Membre -
Bonjour,
je veux crée une page sur mon site ou l'accés à un fichier se fait par identification.mais je n'arrive pas; c'est à dire je veux une page ou l'on accède par identifiant et mot de passe qui réagissent ave'c une base de donnée avant d'afficher le contenu de la page.
A voir également:

4 réponses

alexdelareunion Messages postés 555 Statut Membre 142
 
il y a de très bon tutoriaux sur lesiteduzero.fr
0
Sri Lumpa Messages postés 177 Statut Membre 69
 
Tu peux te créer un petit formulaire HTML pour permettre à l'utilisateur de rentrer ses informations du genre :

<form action="access.php" method="post">
    Identifiant : <input type="text" name="id" /><br />
    Password : <input type="password" name="pass" /><br />
</form>


Puis ensuite dans le script PHP, tu récupères les infos de connection et tu les compares avec ce que tu as dans ta base de données (par exemple une base MySQL)

if(isset($_POST['id']) && isset($_POST['pass'])){
    // On se connect à la base de donnée
    $dbh = mysql_connect(NOM_SERVEUR, NOM_UTILISATEUR_BASE, MOT_DE_PASSE_BASE);
    if($dbh){
        // Au cas où tu aies plusieurs base de données
        $iddata = mysql_select_db(NOM_BASE_DE_DONNEE);
        if($iddata){
             // Requete pour récupérer les infos dans la base de donnée
             $requete = "SELECT id, pass FROM ".NOM_TABLE;
             $requete .= " WHERE id='".$_POST['id']."'";
             $requete .= " AND pass='".$_POST['pass']."'";
             // On lance la requete
             $result = mysql_query($requete);
             // Si la requête a retournée une ligne alors on autorise l'accès
             if(mysql_num_rows($result)){
                 // Accès autorisé
                 ....
             } else {
                 // Accès non-autorisé
                 ....
             }
        } else {
             echo "Erreur lors de la sélection de la base<br />";
        }
        // On n'oublie pas de fermer la connection à la base de donnée
        mysql_close($dbh);
    } else {
        echo "Erreur lors de la connection à la base de donnée<br />";
    }
}

où "NOM_SERVEUR" est le nom du serveur hébergeant la base de donnée, "NOM_UTILISATEUR_BASE" est le nom du propriétaire de la base (à priori ton identifiant de connection à la base de donnée) et "MOT_DE_PASSE_BASE" est le mot de passe pour se connecter à la base de donnée.

Voilà. Honnêtement je ne l'ai pas débugué mais à priori s'est sensé marcher... Pour l'autorisation d'accès en lui-même je ne sais pas trop mais tu dois avoir moyen de gérer ça avec les variables de sessions ou des cookies.

En espérant avoir pu te débloquer un peu
0
tazieff Messages postés 14 Statut Membre
 
c'est vraiment très sympa de ta part .je crois que je me suis ensortir grâce a ton aide
0
guiguitariste > tazieff Messages postés 14 Statut Membre
 
Salut j'ai un problème assez similaire.
J'ai programmé mon site avec un formulaire pour que l'utilisateur rentre son nom et son email. C'est fait avec phpMyadmin et cela fonctionne très bien en local.
Le problème c'est que lorsque je l'upload sur le serveur d'hébergement cela ne fonctionne plus du tout. Je pense que je dois uploader ma bdd mais comment? est-ce un fichier? sous quel format dois-je l'exporter sur phpMyadmin?

Merci d'avance pour votre aide.
0
guiguitariste > guiguitariste
 
Voila mon code

$host = "******";
$user = "*******";
$passwd = "******";
$bdd = "identification" ;
$ide= MYSQL_CONNECT($host,$user,$passwd) or die('Erreur de connexion '.mysql_error());
mysql_select_db("$bdd", $ide);

Et voila l'erreur

Warning: mysql_connect() [function.mysql-connect]: #HY000Host '88.191.253.130' is not allowed to connect to this MySQL server in verif.php on line 31
Erreur de connexion #HY000Host '88.191.253.130' is not allowed to connect to this MySQL server

Est-ce que quelqu'un a une idée?
0
alexdelareunion Messages postés 555 Statut Membre 142
 
Tu dois importer ta base de données sur le serveur qui t'héberge, et dans ton code tu dois renseigner les variables qui contiennent le nom de la base, ton identifiant et mon de passe, ainsi que l'adresse du serveur my sql d'après les paramètres qui te sont fournis à cet effet par ton hébergeur. (c'est logique, tu n'es plus en local)
Dans phpMyAdmin sélectionne ta base de données et choisis 'exporter'. Exporte ta base au format '.sql'. Il s'agit tout simplement d'un fichier texte qui contient toutes les lignes de commandes à entrer pour 'reconstituer' à l'identique ta base de données. Tu peux même l'ouvrir avec le Bloc-Notes si tu es curieux.
Ensuite connecte toi au phpMyAdmin de ton hébergeur, et importe tout simplement ce fichier dans ta base de données.
Attention! comme ton hébergeur t'imposera sans doute un nom pour ta base de données qui ne sera pas le même que celui que tu as utilisé en local, cette restauration peut planter. Si c'est le cas, il te suffit de modifier le nom de la base dans ton fichier de sauvegarde .sql, grace à la fonction "Rechercher/Remplacer" du bloc notes.
par exemple ta base en local s'appelle MA_BASE_LOCALE, donc dans ton fichier .sql de sauvegarde tu va trouver au début une ligne qui ressemble à ça :
CREATE DATABASE IF NO EXIST "MA_BASE_LOCALE";
CREATE TABLE "MA_BASE_LOCALE"."USER" etc....
etc...
etc...
Malheureusement ton hébergeur t'oblige à utiliser ce nom pour ta base : "POUETPOUET_BASE"
Donc tu ouvre le fichier sauvegarde.sql dans le bloc-notes (je te conseille de télécharger notepad++ à ce propos), et tu remplace toutes les occurences de "MA_BASE_LOCALE" par "POUETPOUET_BASE"
ensuite tu pourra restaurer sans soucis...
0
guiguitariste
 
Je te remercie alex je pense que ton idée aurait marché malheuresement je suis en stage et c'est mon patron qui c'était occupé d'acheter le nom de domaine et il avait pris le moins cher celui dans lequel il n'y a pas de base de donnée et pas la possibilité d'en ajouter une non plus!!

Vive le patronnat.
0
alexdelareunion Messages postés 555 Statut Membre 142
 
ah... ben il a du talent ton patron, pas facile de dénicher un hébergement sans base de données de nos jours...
Si le serveur de l'hébergeur doit venir taper dansd ton serveur de base de donnée perso, c'est aussi simple, tu dois juste t'assurer que ton seveur est accessible depuis l'extérieur (routage, pare-feu)
0