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 :

formulaire de modifcation du mot de passe [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut formulaire de modifcation du mot de passe
    salam ; j'ai une page tab.php qui contiens un menu pour appelé d'autres pages selon le besoin de l'utilisateur
    tab.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
     
    <?php
    session_start();
    // On définit le tableau contenant les pages autorisées
      // ----------------------------------------------------
      $navok = array('bord' => 'bord.inc.php',
                      'dec' => 'aff.inc.php',
    				  'anal' => 'anal.inc.php',
    				  'mp' => 'mp.inc.php',
    				   );
     
    ?>
     
    <!DOCTYPE html>
    <HTML>
    <head>
    	<!--Pour forcer le navigateur à afficher en mode IE9, sans quoi il peut passer en mode quirks.-->
    	<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    	<meta charset="utf-8" />
    	<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <!-- application dynamique  -->
    	<link rel="shortcut icon" href="image/favs3g.ico" />
    	<link rel="stylesheet" media="screen" type="text/css" href="../css/tab.css">
     
    	<title>S 3 G</title>
    </head>
    <body class="body">
     
    			<nav class="nav">
    				<ul id="navig">
    					<li><a href="tab.php?page=bord" title="Tableau de bord">T-Bord</a></li>
    					<li><a href="tab.php?page=dec" title="declaration">Déclaration</a></li>
    					<li><a href="#">analyse</a></li>
    					<li><a href="#">Données</a></li>
    					<li><a href="tab.php?page=mp">Mot de passe</a></li>
    					<li><a href="../mod/decon.inc.php">Déconnexion</a></li>
    				</ul>
    			</nav>
     
    		<div class="contenu">
    				<!--  place pour inceré les pages selon le menu -->
    			<?php 
    					// On teste que le paramètre d'url existe et qu'il est bien autorisé
    					// -----------------------------------------------------------------
    				if ( (isset($_GET['page'])) && (isset($navok[$_GET['page']])) ) {
    				$page = htmlentities($_GET['page']);
    				include($navok[$page]);   // Nous appelons le contenu central de la page
    					} 
    				else {
    					// Page par défaut quant elle n'existe pas dans le tableau
    				include('bord.inc.php'); 
    				exit;
    				} 							
    			?>
    		</div>
     
     
    </body>
     
    </html>
    la page concerné par l'appel mp.inc.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
     
    <?php
    include('../mod/cnmp.inc.php');
    ?>
    <div class="cont_form">
    	<p id="titre"> Modification du mot de passe</p>
    	<p>
    			<?php
     
    			if (!empty($erreurs_msg['amp']))  // fonction pour afficher l'erreur  de validation
    			{
    			include('../foncreq/fonctions.inc.php');
    			validformmsg ("3", "red",$erreurs_msg['amp']);
     
    			} 
    			if (!empty($erreurs_msg['nmp']))  // fonction pour afficher l'erreur  de validation
    			{
    			include('../foncreq/fonctions.inc.php');
    			validformmsg ("3", "red",$erreurs_msg['nmp']);
    			} 
    			elseif (!empty($erreurs_msg['cnmp']))  // fonction pour afficher l'erreur  de validation
    			{
    			include('../foncreq/fonctions.inc.php');
    			validformmsg ("3", "red",$erreurs_msg['cnmp']);
    			} 			
    			//fin des messages de contrôles
     
    			?>
    		</p>
    <form class="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"  autocomplete='off'>
     
    			<p class="amp"><label for="amp"> Ancien mot de passe:</label> 
    					<input type="text" name="ident" value="<?php if (isset($_POST['amp']))echo stripslashes(htmlentities(trim($_POST['amp']))); ?>" size="28" maxlength="23" id="amp" autofocus/>
     
    			</p>
    			<p class="nmp"><label for="nmp">Nouveau mot de passe:</label> 
    					<input type="password"  name="pass" value="<?php if (isset($_POST['nmp']))echo stripslashes(htmlentities(trim($_POST['nmp']))); ?>" " size="28" maxlength="23" id="nmp"/>
     
    			</p>
    			<p class="cnmp"><label for="cnmp">Confirmer nouveau mot de passe:</label> 
    					<input type="password"  name="pass" value="<?php if (isset($_POST['cnmp']))echo stripslashes(htmlentities(trim($_POST['cnmp']))); ?>" " size="28" maxlength="23" id="cnmp"/>
     
    			</p>
     
    			</p>
     
    			<p class="buttons">
    				<button type="submit" name="cmpass" value="envoyer" >Envoyer</button>
    			</p>
     
     
    		</form>
     
    </div>
    quand je valide le formulaire a vide normalement je doit avoir le même formulaire avec message d'erreur et on pas de la page par défaut ?

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    pas besoin d'inclure plusieurs fois fonctions.inc.php et que fais validformmsg ?
    indente ton code correctement

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    pas besoin d'inclure plusieurs fois fonctions.inc.php

    validformmsg ?
    c'est une fonction pour affichée le message en rouge ( normalement sa doit étre en css OK).
    je crois que le problème est là:
    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
     
    .......
    <?php 
    					// On teste que le paramètre d'url existe et qu'il est bien autorisé
    					// -----------------------------------------------------------------
    if ( (isset($_GET['page'])) && (isset($navok[$_GET['page']])) ) {
    	$page = htmlentities($_GET['page']);
    	include($navok[$page]);   // Nous appelons le contenu central de la page
    	} 
    else {
    					// Page par défaut quant elle n'existe pas dans le tableau
    include('bord.inc.php'); 
    exit;
    } 							
    ?>

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Un simple print_r($_GET) devrait suffire pour constater le problème, de voir qu'il est vide (aucun élément "page") alors que tu t'attends à ce qu'il y ait quelque chose.

    Tu as prévu d'utiliser $_SERVER['PHP_SELF'] pour que le nom de la page soit mise automatiquement au niveau du formulaire (attribut "action").
    Mais $_SERVER['PHP_SELF'] ne met pas les paramètres GET.
    Il te faut les rajouter, soit manuellement soit en reprenant ce qu'il y a dans $_GET['page'] si c'est le cas.

    Si lors de la validation du formulaire ça doit pointer vers tab.php et inclure mp.inc.php, autant le mettre "en dur", genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form class="form" action="tab.php?page=mp" method="post"  autocomplete="off">
    Puis au lieu d'utiliser un isset($navok), utilise in_array().
    Le tableau $navok existe normalement, la vérification est : si l'élément en GET se trouve dans le tableau.
    Aussi, il n'y a théoriquement pas lieu de faire un htmlentities, c'est une protection qui ne sert à rien à mon sens.
    Ce tableau de navigation est apparemment créé manuellement, donc les données sont sûr (sans risque).
    Si ce qu'on obtient en GET se trouve dans le tableau, c'est que la valeur est bonne (est égale).


    Tu devrais te pencher sur un système de template généralisé à l'ensemble du site/projet, genre tout faire pointer vers un unique fichier (le plus couramment utilisé c'est index.php) et bâtir entièrement la navigation autour.
    Ensuite, créer une seule structure (HTML) commune à l'ensemble du site et inclure les morceaux selon la page demandée.
    Mais surtout, faire en sorte de séparer totalement les traitements par rapport au contenu (le HTML).

    A mon sens il y a trop de traitement dans tes pages, et même des inclusion en plein milieux, et ça se peux qu'il ait encore des traitement dans ces fichiers là.


    C'est juste pour voir, est-ce que tu comprends ce code :
    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
    function capture($view_filename, array $view_data) {
        // Import the view variables to local namespace
        extract($view_data, EXTR_SKIP);
     
        // Capture the view output
        ob_start();
     
        try {
            // Load the view within the current scope
            include $view_filename;
        }
        catch (Exception $e) {
            // Delete the output buffer
            ob_end_clean();
     
            // Re-throw the exception
            echo 'ERREUR : '.$e->getMessage();
        }
     
        // Get the captured output and close the buffer
        return ob_get_clean();
    }
    Surtout le couple ob_start() ob_get_clean()
    Le extract() se faisant sur $view_data

    Il serait à mon sens intéressant que tu comprennes ce que ça fait, car ça change énormément la manière de faire les choses.
    Donc il y a pas mal de choses à y gagner (théoriquement bien sûr).
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  5. #5
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Salam(salut); merci RunCodePhp d'avoir consacré tout ce temps a mon post , sincèrement j'ai jamais travaillé avec les templates.
    faire en sorte de séparer totalement les traitements par rapport au contenu (le HTML).
    sa sous entend de faire par exemple les requêtes dans un seul fichiers , traitement php dans un autre......!!!
    compréhension ton code
    c'est par rapport au tampon mais j'arrive pas a faire le lien.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par redoran Voir le message
    sa sous entend de faire par exemple les requêtes dans un seul fichiers , traitement php dans un autre......!!!
    Exactement
    Je t'invite a faire tout l'article :

    http://symfony.com/doc/current/book/..._symfony2.html

  7. #7
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    sa sous entend de faire par exemple les requêtes dans un seul fichiers , traitement php dans un autre......!!!
    compréhension ton code
    Bien oui, et c'est ça qui fait toute la différence en un site bien conçu et un autre sans réelle conception.

    Tous les gros projets adoptent en général ce principe (2 couches), voir 3, le MVC : Modèle Vue Contrôleur.
    Ce sont des concepts qui ont fait leu preuves, c'est pas moi qui l'invente (j'suis à des lustres de pouvoir le faire).

    Je ne vois pas trop de quoi tu parles concernant les requêtes : de HTTP je suppose ?
    S'il s'agit des requêtes HTTP, et bien quelque soit la technique utilisée, c'est de toute manière le serveur Web qui reçoit les requêtes HTTP.
    Après, ça, le fichier index.php certes est unique, mais il n'y a absolument pas d'écriture dans ce fichier, donc la lecture ne causera pas de problème, même s'il y a des milliers d'accès au même moment.


    c'est par rapport au tampon mais j'arrive pas a faire le lien.
    Oui, ça agit sur le tampon, mais je ne vois pas trop ce que tu veux dire.

    C'était une question comme ça pour voir si tu comprends le grand intérêt de ce code, qui soit dit en passant est très largement utilisé par des FrameWork.
    Ca permet de charger du contenu (une page Php contenant du HTML brut) sans pour autant que le HTML soit renvoyé vers la sortie.
    Comme tu le sait, si on fait ça avant un header ça renvoie une erreur.

    Mais le but n'est pas d'éviter cette erreur, mais lorsqu'on sépare les traitements et le code HTML, on a de toute manière besoin de récupérer ce qu'on appel des vues (juste le code HTML, sans renvoie) pour à la fin recoller les morceaux dans l'ordre.

    Exemple, on aurait un template (structure HTML) comme ceci :
    template.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
    <?php
    // PARTIE TRAITEMENT
    $head_titre = capture('view/headTitre.php', array('titre' => 'Titre de la page'));
     
    $entete = capture('view/entete.php', array('titre' => 'Titre balise H1'));
     
    $corps = capture('view/corps.php', array('var1' => 'donnee1', 'var2' => 'donnee2'));
     
    $pied = capture('view/pied.php', array('copyright' => 'Redoran'));
     
     
     
    // PARTIE INTERFACE / Template
    ?>
    <html>
    <head>
    <title><?php $head_titre; ?></title>
    </head>
     
    <body>
     
    <div>
    <?php echo $entete; ?>
    </div>
     
    <div>
    <?php echo $corps; ?>
    </div>
     
    <div>
    <?php echo $pied; ?>
    </div>
     
    </body>
    </html>
    Ensuite, il suffit de créer les fichiers des différentes vues des exemples ci-dessus : headTitre.php, entete.php, corps.php, pied.php
    -> Le fichier headTitre va contenir ici un simple : echo $titre.
    ->entete.php va contenir du HTML brut, genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h1><?php echo $titre; ?></h1>
    ... et ainsi de suite pour le reste.
    Ces pages que sont les vues peuvent contenir tout ce qu'on veut, mais ce sera du HTML brut (ce qui revient à faire un echo).
    Donc on met un code qui théoriquement renvoie du HTML en sortie, mais le couple ob_start() ob_end_clean() empêche de le faire, ça retourne juste le contenu.


    Le 1er gros avantage, c'est que toute la logique du programme se déroule dans la partie traitement, on se souci très peu de de qui se passe dans la partie HTML (le template).
    Il faut juste que les données que l'on passe en paramètre ($view_data) soient en phase avec les variables qu'on exploitera dans ces fichiers de vues.

    Mais l'autre gros avantage, c'est la comparaison entre des include que je dirait classique par rapport à cette technique que je te montre.
    Les include classiques ont le gros inconvénient que les variables qui s'y trouvent sont quelques part globales.
    Ca sous entend que, si avant de faire un include on initialise une variable $toto avec une valeur, et qu'après ça on fait un include qui lui même initialise une variable du même nom $toto, la 1ère sera écrasée.
    D'un coté c'est peut être ce que l'on recherche, mais de l'autre, ça demande d'être très rigoureux sur la manière de nommer les variables pour éviter des erreurs.
    Le facteur "temps" ne joue pas du tout en faveur avec ce comportement.

    Une autre solution pour éviter ce comportement qui peut être désastreux, c'est de créer des fonctions.
    Mais à la longue on se retrouve avec une flopée de fonctions en tout genre.


    C'est là que cette simple fonction, si on visualise bien ce quelle fait, et bien ça change totalement la manière de faire les choses, juste avec 1 fonction seulement sans avoir tous les inconvénients cités plus haut.


    Maintenant, c'est à toi de voir, mais ton projet à l'air de se complexifié petit à petit, et à un certain stade ça demande beaucoup de structure, et surtout, du code trop procédural trouve ces limite.
    Même si cette fonction c'est toujours du procédural, c'est un principe emprunté des FW ou normalement c'est un Objet View, mais là j'ai juste mis l'essentiel qui peu se faire avec une fonction.

    Ceci dit, tout cela est juste une suggestion, c'est à toi de voir bien évidemment, j'essaie juste de mettre un peu d'eau au moulin.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  8. #8
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Re :a 50 % de mon projet
    Merci stealth35 pour le lien.
    RunCodePhp:
    je suis en autoformation donc 06 mois d'expérience en site web dynamique , ton approche me remet au point de départ avec de bonnes méthode de développement ( templates ,POO ,MVC..) là encore des jours et des jours de formation

  9. #9
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Dernière question , l'approche de RunCodePhp demande de changer l'outil de travail (Notepad+++..) en faveur de framework !!!

  10. #10
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    je suis en autoformation donc 06 mois d'expérience en site web dynamique , ton approche me remet au point de départ avec de bonnes méthode de développement ( templates ,POO ,MVC..) là encore des jours et des jours de formation
    6mois ?
    Bah, c'est rien, faut compter sur plusieurs années de dures labeurs à mon sens.

    Je ne te dis pas le nombre d'années qu'il m'a fallu (en partant de 0), ça risque de te décourager.


    Dernière question , l'approche de RunCodePhp demande de changer l'outil de travail (Notepad+++..) en faveur de framework !!!
    Un site Web n'a rien avoir avec un éditeur.
    Ceci dit, un éditeur qui serait trop simpliste peut être un frein au développement.

    Personnellement j'utilise NetBeans que je trouve vachement bien.
    Je ne connais pas Notepad++, je ne pas apporter de critique.
    Je sais que beaucoup l'utilise, du coup je doute que cela pose problème.


    Mise à part ça, je ne dis pas qu'il faille repartir de 0, d'une feuille blanche.
    Les choses peuvent à mon sens évoluer en douceur.

    De toute manière, un projet qui n'évolue pas mourra à petit feu, ça l'est d'autant plus dans ce secteur ou tout bouge : Php, MySQL, Html, Css, Javascript.
    Rien que l'évolution d'un seul de ces 5 langages (si on peu dire) peut tout remettre en question tout un projet, alors imagine si ces 5 là bougent fortement au même moment.


    Essai de voir au moins le vrai bénéfice que peu t'apporter cette fonction que j'ai mis, elle peu s'utiliser quasi immédiatement sur les nouveaux blocs HTML (les vues) que tu feras tout en conservant tout ce que tu as actuellement.

    Si tu parviens à bien voir ce que cela apporte, théoriquement tu vas te résoudre à faire évoluer l'antécédent pour au final bâtir tout le projet avec ce même principe.

    Le but final (l'objectif) visé et d'avoir une vrai séparation des traitements et du contenu, c'est à mon sens le minimum que tout codeur devrait faire.

    Cependant, sans cette approche, sans agir un minimum sur le buffer c'est extrêmement compliqué d'y parvenir, le plus souvent ça débouche sur du code plus ou moins mal alambiqué.


    Par ailleurs, même si c'est une approche que l'on voit dans des FW MVC, le code que j'ai mis est une simple fonction, donc c'est du procédural.
    C'est donc ni Objet, ni même du MVC.
    En somme, ce n'est pas le Pérou
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  11. #11
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Salam ; merci Stealth36 , RunCodePhp pour vos interventions ; je crois que par rapport au post initial le problème est résolu.
    aussi pour la fonction que tu ma proposé RunCodePhp nécessite quelque éclaircissement dont je ferai l'objet d'un post incessamment.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire de login avec mot de passe
    Par benjamin002 dans le forum IHM
    Réponses: 15
    Dernier message: 19/11/2009, 10h51
  2. Formulaire de changement de mot de passe
    Par missmilie dans le forum Langage
    Réponses: 4
    Dernier message: 01/07/2008, 13h28
  3. Formulaire de changement de mot de passe
    Par aityahia dans le forum Sécurité
    Réponses: 1
    Dernier message: 18/06/2008, 10h40
  4. Formulaire pour recuperer son mot de passe
    Par Jean73 dans le forum Langage
    Réponses: 4
    Dernier message: 28/03/2006, 12h30
  5. Formulaire protégé par un mot de passe
    Par SpyesX dans le forum Access
    Réponses: 10
    Dernier message: 13/03/2006, 18h02

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