begin process at 2012 02 15 22:03:31
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Tutoriaux

 > SCRIPT DE VÉRIFICATION FORMULAIRE UTILISÉ PHP

SCRIPT DE VÉRIFICATION FORMULAIRE UTILISÉ PHP


 Information sur le tutoriel

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 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 ! ;-)

 

 

Commentaires

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

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! à +

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

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

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

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

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

Commentaire de pixelicone le 26/01/2008 02:54:18

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

Commentaire de mlkyazid le 31/03/2010 14:52:28

tu recuper le champs du formulaire
slt je viens de tomber sur ce forum et je voi que cela date depuis 2008  mai je poste ca même la solution pour ceux qui en auront besoin

recuperer les infos venant du formulaire
if(isset($_POST['send']))
{
$email = $_POST['email'];
        $regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';

     if(!preg_match($regex_mail, $email))
{
   echo" L'adresse ".$email." n'est pas une adresse valide ";
}
}
j'esper que ca aidera!!!

Commentaire de cavalier2400 le 13/08/2010 10:39:09

Bonjour, les privilèges généralement sont ainsi, à un groupe on affecte les privilèges d'un individu, ou bien un individu auquel on affecte les privilèges du groupe, la table autorisationpage(plusieurs à plusieurs) nécessite quelle soit porteuses de pages[1..npages], ce qui restreint la conception, ou bien fonctionnalité devient elle même un groupe de page, et encore on trouvera problème pour orienter l'utilisateur sur sa page... sinon c'est un tas de pages qui vont s'ouvrir, sinon modifie carrément la modélisation des tables, svp balance un zip bien détaillé à la place de cette approche, avec le titre adéquat qui n'est nullement une modeste vérification de formulaire demandé!, merci.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,212 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales