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

Langage PHP Discussion :

comment créer espace membres sur mon site?


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 7
    Points
    7
    Par défaut comment créer espace membres sur mon site?
    Salut tout le monde

    je dispose des outils suivants:

    - dreamweaver v8 fr
    - easyPHP v12.1
    - MS office

    => j'ai créer une base de données qui permet de gérer les données du personnels dans une petite administration
    (cette base nomée: trfdb) qui contient des tableaux (trf, epa, cr, regies, ...)


    j'ai fait de sorte que lorsqu'on choisit un champs & on saisi le critère de recherche, on obtient les données souhaitées...


    actuellement, je veux - pour avancer plus mon travail - permettre la consultation de ma base & la modification (insertion, ajout, sepression, etc...) exclusivement à des personnes particulier:
    je veux ajouter un espace "membres" pour permettre l'inscription & l'identification des ces personnes (et par la suite ils pourront modifier & consulter ma base)

    Alors, je vous demande gentillement de m'aider à réaliser mon objectif optimalement, on me donnant les étapes, procédure, comment faire, etc...
    et merci infiniment.
    Moula

    ***************************
    voici mon travail: www.trftozeur.eb2a.com
    ***************************
    Tout aide, conseils, suggestion, ... sera la bienvenue. merci d'avance
    ***************************

    & voilà "codes" de mes pages:

    membres.php

    **************
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>membres</title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
    	<?php
    $base = mysql_connect ('sql203.eb2a.com', 'eb2a_12211995', 'XXX');
    mysql_select_db ('eb2a_12211995_trfdb', $base) ;
    mysql_set_charset( 'utf8' );
    ?>
     
            <form action="acces.php" method="post">
                <p>Votre pseudo :<input type="text" name="pseudo" /></p>
    			<p>Votre mot de passe :<input type="password" name="pass" /></p> 
    			<p>Confirmer votre mot de passe :<input type="password" name="passconf" /></p>
    			<p>Envoyer :<input type="submit" value="valider" /></p>
            </form>
            <p>Cette page est réservée EXCLUSIVEMENT au personnel de la TRF tozeur.</p></center>
     
    		<?php
    // Connexion à la base de données
    try
    {
        $bdd = new PDO('mysql:host=xxxx.xxx.com;dbname=xxxxx', 'xxxxx', 'xxxxx');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     
    // Insertion des données
    $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, date) VALUES(:pseudo, :pass, CURDATE())');
    $req->execute(array(
        'pseudo' => $pseudo,
        'pass' => $pass_hache,
        ));
     
    // Affichage (toutes les données sont protégées par htmlspecialchars)
    while ($donnees = $req->fetch())
    {
        echo '<p><strong>' . htmlspecialchars($donnees['id']) . '</strong> : ' . htmlspecialchars($donnees['pseudo']) . . htmlspecialchars($donnees['date']) .'</p>';
    }
     
    $req->closeCursor();
     
    ?>
     
    </body>
    </html>
    ****************************
    acces.php

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>acces</title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
    		<?php
    $base = mysql_connect (xxxxx', 'xxxxx', 'xxxxx');
    mysql_select_db ('xxxxxx', $base) ;
    mysql_set_charset( 'utf8' );
    ?>
    <?php
     
    // Connexion à la base de données
    try
    {
        $bdd = new PDO('mysql:host=xxxx;dbname=xxxxx', 'xxxxx', 'XXX');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     ?>
    	 <?php
    // Vérification de la validité des informations
     
        if (isset($_POST['pass']) == $_POST['passconf']) // Si les 2 mots de passe sont identiques
        {
        // On affiche message de  bienvenue
        ?>
            <p><h1><strong><center>Bienvenue, vous êtes inscrit! merci de votre visite</center></strong></h1></p>   
            <?php
    		// Hachage du mot de passe
    $pass_hache = sha1($_POST['pass']);
     
    // Insertion
    $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, date) VALUES(:pseudo, :pass, CURDATE())');
    $req->execute(array(
        'pseudo' => $pseudo,
        'pass' => $pass_hache,
        ));
    	?>
    	<?php
        }
        else // Sinon, on affiche un message d'erreur
        {
            echo '<center><p>Les mots de passe ne sont pas identiques</br><a href="membres.php">Réessayez</a></p></center>';
        }
    // Insertion du message à l'aide d'une requête préparée
    $req = $bdd->prepare('INSERT INTO membres (id, pseudo, pass, date) VALUES(?, ?, ?, ?)');
    $req->execute(array($_POST['id'], $_POST['pseudo'], $_POST['pass'], $_POST['date']));
     
    // Redirection du visiteur vers la page du minichat
    header('Location: membres.php');
        ?>
     
        </body>
    </html>
    ************************************************
    inscription.php

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>inscription</title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
    	<?php
    $base = mysql_connect ('xxxxx', 'xxxxx', 'xxxx');
    mysql_select_db ('xxxxx', $base) ;
    mysql_set_charset( 'utf8' );
    ?>
     
            <form action="connexion.php" method="post">
                <p>Votre pseudo :<input type="text" name="pseudo" /></p>
    			<p>Votre mot de passe :<input type="password" name="pass" /></p> 
    			<p>Confirmer votre mot de passe :<input type="password" name="passconf" /></p>
    			<p>Envoyer :<input type="submit" value="valider" /></p>
            </form>
            <p>Cette page est réservée EXCLUSIVEMENT au personnel de la TRF tozeur.</p></center>
     
    		<?php
    // Connexion à la base de données
    try
    {
        $bdd = new PDO('mysql:host=xxxx;dbname=xxxxx', 'xxxxx', 'xxxxx');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     
    // Insertion des données
    $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, date) VALUES(:pseudo, :pass, CURDATE())');
    $req->execute(array(
        'pseudo' => $pseudo,
        'pass' => $pass_hache,
        ));
     
    // Affichage (toutes les données sont protégées par htmlspecialchars)
    while ($donnees = $req->fetch())
    {
        echo '<p><strong>' . htmlspecialchars($donnees['id']) . '</strong> : ' . htmlspecialchars($donnees['pseudo']) . . htmlspecialchars($donnees['date']) .'</p>';
    }
     
    $req->closeCursor();
     
    ?>
     
    </body>
    </html>
    ******************************************
    connexion.php

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>acces</title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
    		<?php
    $base = mysql_connect ('xxxxx', 'xxxxx', 'xxxxxx');
    mysql_select_db ('xxxxxx', $base) ;
    mysql_set_charset( 'utf8' );
    ?>
    <?php
     
    // Connexion à la base de données
    try
    {
        $bdd = new PDO('mysql:host=xxxxx;dbname=xxxxxx', 'xxxxxx', 'xxxxxx');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     ?>
    	 <?php
    // Vérification de la validité des informations
     
        if (isset($_POST['pass']) == $_POST['passconf']) // Si les 2 mots de passe sont identiques
        {
        // On affiche message de  bienvenue
        ?>
            <p><h1><strong><center>Bienvenue, vous êtes inscrit! merci de votre visite</center></strong></h1></p>   
            <?php
    		// Hachage du mot de passe
    $pass_hache = sha1($_POST['pass']);
     
    // Insertion
    $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, date) VALUES(:pseudo, :pass, CURDATE())');
    $req->execute(array(
        'pseudo' => $pseudo,
        'pass' => $pass_hache,
        ));
    	?>
    	<?php
        }
        else // Sinon, on affiche un message d'erreur
        {
            echo '<center><p>Les mots de passe ne sont pas identiques</br><a href="membres.php">Réessayez</a></p></center>';
        }
    // Insertion du message à l'aide d'une requête préparée
    $req = $bdd->prepare('INSERT INTO membres (id, pseudo, pass, date) VALUES(?, ?, ?, ?)');
    $req->execute(array($_POST['id'], $_POST['pseudo'], $_POST['pass'], $_POST['date']));
     
    // Redirection du visiteur vers la page du minichat
    header('Location: membres.php');
        ?>
     
        </body>
    </html>
    ****************************************
    deconnexion.php

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>acces</title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
    		<?php
    $base = mysql_connect ('xxxxx', 'xxxxxxx', 'xxxxxx');
    mysql_select_db ('xxxxxxx', $base) ;
    mysql_set_charset( 'utf8' );
    ?>
    <?php 
    session_start();
     
    // Suppression des variables de session et de la session
    $_SESSION = array();
    session_destroy();
     
    // Suppression des cookies de connexion automatique
    setcookie('login', '');
    setcookie('pass_hache', '');
    ?>
        </body>
    </html>

  2. #2
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Première étape : Edit tout de suite ton dernier message pour enlever les login / pass de ta base de données

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    merci ami
    mais des conseils pour réaliser mon but?
    des suggestions pour rectifier mes codes?
    merci d'avance

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Faut suivre un tuto, genre "tuto inscription connexion espace membre php" dans google te donneras de bonnes réponses.

    Dans le script "membres" pourquoi faire une connexion 'mysql' suivie d'une connexion 'pdo' ? C'est l'une ou l'autre pas les deux. Et sachant que l'extension mysql est dépréciée utilises uniquement pdo (ou mysqli mais pas mysql).

    Tu utilises des variables '$pseudo' et '$pass_hache' dans les avoir définies préalablement.

    On vérifie l'existence de variables avant de les tester et donc on écrit pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['pass']) == $_POST['passconf'])
    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['pass'],$_POST['passconf']) &&  $_POST['pass'] == $_POST['passconf'])
    On ne met pas de header après un echo (page 'connexion')

    Que vient faire une requête d'insertion dans un script de connexion ?

    On sépare le plus possible le code php du code html.

    Ton code manque de logique. Un tuto sera le bienvenu pour partir sur de bonnes bases.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 7
    Points
    7
    Par défaut modification de base données sur conditions
    salut tout le monde
    j'ai crée une petite base de données (pour petite administration) & je l'ai hebergée sur web
    j'ai fait de sorte que :
    - le visiteur ordinaire peut consulter seulement
    - pour les membres: 1èrement: ils doivent s'inscrire tout d'abort, puis se connecter pour pouvoir: consulter & modifier la base
    à ce niveau là, je me trouve bloqué:
    comment pouvoir permettre aux membres de modifier une partie spécifique de la base (càd: Mr. X => peut modifier uniquement le tableau X1, etc...)

    merci d'avance

Discussions similaires

  1. [Spip] Espace membre pour mon site
    Par gaby_1 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 08/10/2007, 12h03
  2. Comment bloquer les photos sur mon site
    Par footeuse13 dans le forum Sécurité
    Réponses: 5
    Dernier message: 08/08/2007, 16h54
  3. [Forum][Conseil] Comment avoir un forum sur mon site ?
    Par jessi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/11/2006, 21h07
  4. [Club Internet] comment mettre un .htaccess sur mon site ?
    Par cyberdevelopment dans le forum Autres hébergeurs
    Réponses: 8
    Dernier message: 27/07/2006, 17h49
  5. Réponses: 3
    Dernier message: 24/05/2006, 21h45

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