Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SCRIPT DE VÉRIFICATION FORMULAIRE UTILISÉ PHP


Information sur le tutorial

Catégorie :Tutoriaux Date de création : 13/12/2005 16:35:31 Vu : 17 882 fois

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

Avec ce sript vous pouvez établir un système de gestion des utilisateurs identifié sur votre site....

Tutorial

Tout d'abord on va créer une petite base de données avec les tables suivantes :

user (no_user, compte_user, pass_user , no_groupe,photo_user );  # cette table sert à stocker les les comptes d'utilisateurs

groupe_user (no_groupe,nom_groupe);            # les groupe d'utilisateurs

fonctionnalites (no_fonc, nom_fonc);               # les fonctionnalites sur le site

autorisation_page(no_fonc,no_groupe)         #définir les droits d'accès aux fonctionnalités de la page pour chaque groupe d'utilisateur

Mes fichiers

- erreurs.php --> servi l'affichage des erreurs sur la page

- centre.php --> servi l'affichage du centre de la page

- init.php --> initialisation de la variable $_SESSION:

      <?
            @session_start();
            $_SESSION['user']="visiteur";              // affecter les valeurs initiale pour la variable $_SESSION
            $_SESSION['stat']="visiteur";
            $_SESSION['no_groupe']=4;   
   ?>

- menunav.php, menunav_gauche.php --> servi l'affichage de l'affichage des menus de navigation.

<?
session_start();
var_dump($_SESSION);
include "db_connect.php";   // insérer la page db_connect --> contient les fonctions de la connection à la base de données.
include "erreurs.php";  // pour le gestion d'affichage d'erreurs
 /*************************************************************************************************
       * VERIFICATION DU COMPTE D'UTILISATEURS:                                                                                                      *
       *     - Revevoir les information depuis le formulaire de login                                                                                                    *
       *     - Chercher tous les champs dans la table user                                                                                                                 *
       *     - Balancer le réusltat dans un tableau                                                                                                                              *
       *     - Comparer l'égalité entre les valeurs reçues et les valeurs trouvée dans la base mysql                                                     *
       *     - Démarer le session si tout est ok                                                                                                                                  *
       ***********************************************************************************************/
 if ((isset($_POST['login'])) && (isset($_POST['pass'])))                       // si l'utilisateur se logue avec un compte et
 {
  $compte=$_POST['login'];                     //affecter la valeur du login  au $compte
  $passe=$_POST['pass'];                    // et mot de passe
  $chercher_login="select * from user where compte_user='$compte' and pass_user='$passe'";      // selectionner tous les éléments dans la table user
  $chercher=mysql_query($chercher_login) or die (mysql_error());                    //exécution de la requete
  if($result=mysql_fetch_array($chercher))                //si le réultat pour le compte utilisateur et mot de passe trouvé corespponds au celui du login
  {       
   $group=$result['no_groupe'];                         // affecter le valeur du groupe pour pouvoir trouvé le nom du groupe d'utilisateur
   echo $group;
   $search_group="select nom_groupe from groupe_user where no_groupe='$group'";      //chercher le nom du group auquel l'utilisateur appartient
   $search=mysql_query($search_group);                // on lance la recherche!
   $result_search=mysql_fetch_row($search);                     // on idexe le résultat de la recherche dans un tableau
   @session_start();                                                                                  // démarer une session
   $_SESSION['user']=$compte or die (mysql_error());                          // enregistrement du compte utilisateur
   $_SESSION['no_groupe']=$result['no_groupe'];                                // son numéro de groupe
   $_SESSION['no_groupe']=intval($_SESSION['no_groupe']) ;           // conversion en integer
   $_SESSION['stat'] = $result_search[0] ;                                           // enregister le statut de l'ulisateur
   $_SESSION['id']= session_id();                                                      // variable contenant l'ID de la session
   $centre = "centre.php";                                                                    // si l'utilisatuer est enregistré alors affecter le centre de la page pour les user authentifié
   $_SESSION['image']=$result['photo_user'];                                    // pour l'affichage de la photo d'utilisateur
   
   
  // dans le cas ou il y a des erreurs de mot de passe ou login : afficher les messages d'erreurs 
  
  }
  elseif ($result['compte_user'] != $_POST['login'] && $result['pass_user']!= $_POST['pass'])
  {
   $centre=$erreur_login_pass;
  }
  elseif($result['pass_user']!= $_POST['pass'])
  {
   $centre=$erreur_pass;
  }
  elseif($result['compte_user'] != $_POST['login'])
  {
   $centre=$erreur_login;
  }
 }
 elseif ((!isset($_SESSION['user']))&& (!isset($_SESSION['stat'])))
 {
  include "init.php";
 }
 else
 {
  @session_start();
 }
?>
<? /*       *************************************                      L'AFFICHAGE DE LA PAGE COMMENCE ICI                         *****************************************           */ ?>
<html>
<head><title>Index</title></head>
<body>
      <table width="100%" height="100%" border="1">
            <tr height="200px"><td height="135" align="center">Ici commence l'entete de la page</td >
            </tr> <!-- entete de la page -->
            <tr ><td height="40px" >L'intermédiaire</td></tr >
            <tr ><td>
                  <table height=="80%"  width="100%" border="1">
    <tr height="40px"><td width="50%" >Nous sommes le:<?php echo date("d - m - y"); ?></td>
       <td width="50%" >
                                                <table border=0><tr><td width="100%"><?php include "affiche_session.php"; //echo "<img src=\"$imag\">"; ?> </td>
                                                                    <td><?
                                                                        if ($_SESSION['stat']!='visiteur')
                                                                        {
                                                                              echo "<a href=\"log_out.php\">Deconnexion</a>";
                                                                        }
                                                                        else
                                                                        {
                                                                              echo "&nbsp;";
                                                                        }
                                                                        ?>
                                                                    </td >
                                                                </tr >
                                                </table >
    </tr>
    <tr><td colspan="2">
     <table cellpadding="0" cellspacing="0" border="1" height="100%" align="center" width="100%">
            <tr>
            <td width="20%"><?php
               include "menunav.php"; 
                                              ?>
                                          </td>
            <td width="60%">
         <?
         if(@$centre=$erreur_login_pass ||$centre=$erreur_pass||$centre=$erreur_login )
         {
         if (@$result['compte_user'] != @$_POST['login'] && @$result['pass_user']!= @$_POST['pass'])
         {
          $centre=$erreur_login_pass;
          echo $centre;
         }
         elseif(@$result['pass_user']!= @$_POST['pass'])
         {
          $centre=$erreur_pass;
          echo $centre;
         }
         elseif(@$result['compte_user'] != @$_POST['login'])
         {
          @$centre=$erreur_login;
          echo $centre;
         }
         
         }
         else
         {
        include "$centre";
         }
         ?></td>
            <td width="20%"><? include "menunav_gauche.php"; ?></td>     <? // affichage du menu gauche de la page (facultatif) ?>
       </tr>
     </table>
      </td>
    </tr>
   </table>
      </td >
  </tr >
  <tr height="100px"><td colspan="2">Footer</td></tr>
      </table>
</body>
</html>

Après dans chaque page du site web, il faut faire : include "fonc_permis.php". La page fonc_permis.php est écrite de manière suivante:

<?php
@session_start();
include "erreurs.php";
include "db_connect.php";     // connexion à la base de données
function chercher_nom_fonc ($no_fonct)   // cette foncton renvoie le nom de la fonctionnalites selon le numéro envoyé
{
      $cherche_nom_fonc= "select nom_fonc from fonctionnalites where no_fonc = '$no_fonct'";  // la requete dans la base de données
      $go = mysql_query($cherche_nom_fonc) or die (mysql_error());          // exécution de la requete
      $result_cherche= mysql_fetch_row($go);                                // affecter les valeurs trouvé de la recherche dans un tableau
      return $result_cherche[0];                                            // retourner le résultat trouvé
}   
$group= $_SESSION['no_groupe'];    // le nom du group d'utilisateur
$query1 = "select no_fonc from autorisation_page where no_groupe='$group'";              // recherche le numéro de fonctionnalités à partir de numéro de groupe
$execute = mysql_query($query1) or die (mysql_error());           // exécution de la requete

while ($result1= mysql_fetch_row($execute))
{
   $affiche= chercher_nom_fonc($result1[0]);            // pour chaque résultat de no_fonc nous cherchons le nom de fonctionnalités dans la table fonctionnalites
   if(strcmp($_SESSION['page'],$affiche)==0)   // on compare avec la page actuelle, si ils sont égals alors
   {
  $auto=1;           // l'utilisatuer a le droit d'accéder à cette page
   }
}

?>

Et n'oubliez pas de mettre un session_start() entete de chaque page (-;

Bon, j'espère que ce petit script vous aide un peu pour comprendre l'intérêt de la variable $_SESSION. Si vous avez des questions n'hésitez pas de m'écrire au: sontung2603@yahoo.com

Salut ! ;-)

 

 

signaler à un administrateur
Commentaire de speedylol le 24/01/2006 16:38:35

bonjour a tu la version complete de ton script stp cela m'interesserais. Merci de ta réponse

signaler à un administrateur
Commentaire de bochu le 24/01/2006 17:07:54

au fait, mes codes actuellement sont déjà modifier un peu, si tu veux bien m'expliquer qu'est-ce que tu veux faire? comme ca je pourais te répondre plus précisément.
Chao! à +

signaler à un administrateur
Commentaire de speedylol le 03/02/2006 22:08:54

Re en fait j 'aimerais gerée mon site avec plus redirection suivant l'incriptions par des session c'est pour cela que ton script etais très interessant merci de me faire savoir quoi .

bien à toi

signaler à un administrateur
Commentaire de speedylol le 03/02/2006 22:08:56

Re en fait j 'aimerais gerée mon site avec plus redirection suivant l'incriptions par des session c'est pour cela que ton script etais très interessant merci de me faire savoir quoi .

bien à toi

signaler à un administrateur
Commentaire de younes371 le 18/09/2006 15:05:06

bonjour, si t as une application complete qui utilise ce cencepte; n hesites pas de la mettre ici stp ou tu pe me l envoyer par mail : younes_bt@hotmail.com

signaler à un administrateur
Commentaire de younes371 le 27/09/2006 11:37:42

Re salut, je vois que tu reponds pas !!!!
Alors, pour moi je ve verifier si le champs d'adresse mail est remplie par une adresse mail correcte.
T as une fonction ou klk chose qui fait ça, merci

signaler à un administrateur
Commentaire de jawad_casa le 22/02/2007 11:36:08

Bonjour,
SVP, je cherche une fonction php qui me permet de verifier si le format d'un email est valid ou non;
merci de vos réponces

signaler à un administrateur
Commentaire de pixelicone le 26/01/2008 02:54:18

j'ai jamais cru que la science devienne ainsi!!
merci pour tout

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,031 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.