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 :

Script modification mot de passe qui ne marche


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Script modification mot de passe qui ne marche
    Bonjour a tous

    je suis nouveau sur le forum et sur Php aussi , je viens de faire un script qui est supposé permettre a un utilisateur de modifier son mot de passe , hors je n'arrive pas a comprendre pq cela ne marche pas :

    je vous met le code :

    html :
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    <?php
    include("lock.php");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Payroll Panel</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <script type="text/javascript" src="clockp.js"></script>
    <script type="text/javascript" src="clockh.js"></script> 
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="ddaccordion.js"></script>
    <script type="text/javascript">
    ddaccordion.init({
    	headerclass: "submenuheader", //Shared CSS class name of headers group
    	contentclass: "submenu", //Shared CSS class name of contents group
    	revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
    	mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
    	collapseprev: true, //Collapse previous content (so only one open at any time)? true/false 
    	defaultexpanded: [], //index of content(s) open by default [index1, index2, etc] [] denotes no content
    	onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
    	animatedefault: false, //Should contents open by default be animated into view?
    	persiststate: true, //persist state of opened contents within browser session?
    	toggleclass: ["", ""], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
    	togglehtml: ["suffix", "<img src='images/plus.gif' class='statusicon' />", "<img src='images/minus.gif' class='statusicon' />"], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
    	animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
    	oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
    		//do nothing
    	},
    	onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
    		//do nothing
    	}
    })
    </script>
     
    <script type="text/javascript" src="jconfirmaction.jquery.js"></script>
    <script type="text/javascript">
     
    	$(document).ready(function() {
    		$('.ask').jConfirmAction();
    	});
     
    </script>
     
    <script language="javascript" type="text/javascript" src="niceforms.js"></script>
    <link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />
     
    </head>
    <body>
    	<div id="main_container">
     
    		<div class="header">
    		<div class="logo"><a href="#"><img src="images/logo.gif" alt="" title="" border="0" /></a></div>
     
    		<div class="right_header">Welcome: <?php echo $login_session; ?><a href="********.com" target="_blank">Visit site</a> | <a href="index.php" class="logout">Logout</a></div>
    		<div id="clock_a"></div>
    		</div>
     
    		<div class="main_content">
     
    						<div class="menu">
    						<ul>
    						<li><a class="current" href="Welcome.php">Dashboard</a></li>
    						<li><a href="">Settings<!--[if IE 7]><!--></a><!--<![endif]-->
    						<!--[if lte IE 6]><table><tr><td><![endif]-->
    							<ul>
    							<li><a href="" title="">Change Password</a></li>
    							</ul>
    						<!--[if lte IE 6]></td></tr></table></a><![endif]-->
    						</li>
    						</ul>
    						</div> 
     
    		<div class="center_content">  
     
    			<div class="left_content">
     
    					<div class="sidebarmenu">
     
    						<a class="menuitem submenuheader" href="">Human Ressources</a>
    						<div class="submenu">
    							<ul>
    							<li><a href="">Repartition</a></li>
    							<li><a href="">HR Reports</a></li>
    							</ul>
    						</div>
    						<a class="menuitem submenuheader" href="" >Payroll</a>
    						<div class="submenu">
    							<ul>
    							<li><a href="">Cnx Dcnx Details</a></li>
    							<li><a href="">Payroll Reports</a></li>
    							</ul>
    						</div>
     
    					</div>
     
    			</div>  
     
    			<div class="right_content">            
     
    			<h2>Dashboard</h2> 
     
    				<div class="form">
    					<form action="newPass.php" method="post" class="niceform">
     
    						<fieldset>
     
    							<dl>						
    								<dt><label for="email">UserName :</label></dt>
    								<dd><input type="text" value=<?php echo $login_session;?> name="login" id="" readonly="true" size="54" /></dd>							
    							</dl>
    							<dl>
    								<dt><label for="email">Old Password :</label></dt>
    								<dd><input type="text" value=<?php echo $pass_session;?> name="oldpass" id="" readonly="true" size="54" /></dd>
    							</dl>
    							<br></br>
    							<dl>
    								<dt><label for="password">New Password:</label></dt>
    								<dd><input type="password" name="newpass1" id="" size="54" /></dd>
    							</dl>
    							<br></br>
    							<dl>
    								<dt><label for="password">Confirm New Password:</label></dt>
    								<dd><input type="password" name="newpass2" id="" size="54" /></dd>
    							</dl>
     
    							 <dl class="submit">
    							<input type="submit" name="submit" id="submit" value="Submit" />
    							 </dl>
     
    						</fieldset>
     
    					 </form>
     
    				</div>  
    		</div>  	
    	 <!--end of center content -->               
     
     
    		<div class="clear"></div>
     
     
    	</div> <!--end of main content-->
     
     
    	<div class="footer">
     
        	<div class="left_footer">PAYROLL Intranet | Copyright  <a href="********.com" target="_blank">************ International ©</a></div>      
    	</div>
     
    </div>		
    </body>
    </html>
    le script Php pour la cnx base :
    config.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $mysql_hostname = "192.168.***.***";
    $mysql_user = "Payroll";
    $mysql_password = "********";
    $mysql_database = "db_payroll_intranet";
    $bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Opps some thing went wrong");
    mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");
    @mysql_close($db);
    ?>
    le script pour la modification du mot de passe :
    Newpass.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
    <?php
    include("config.php");
    session_start();
    	if($_SERVER["REQUEST_METHOD"] == "POST")
    	{
    	// username and password sent from Form 
    		$newpass1=addslashes($_POST['newpass1']); 
    		$newpass2=addslashes($_POST['newpass2']); 
    		$login=addslashes($_POST['login']); 
     
     
    			//si  les 2 mdp sont different
    		if ($newpass1 != $newpass2)
    			{echo 'Vous avez tape deux mots de passe differents';}
     
    		while($newpass1 == $newpass2);
     
     
    		$sql = mysql_query("UPDATE admin SET passcode='$newpass1'  WHERE username='$login'");
     
    		$rs = mysql_query($sql) or die ("Erreur : <br/><code>" . $sql . "<code><br/>--<br/>" 
    		. "<span class='alert'>" . mysql_error() . "</span>");
     
    		{echo 'Votre mot de passe à été changé'; 
    		}
    	}
    @mysql_close($db);
    ?>

    merci d'avance pour l'aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu obtiens "Votre mot de passe à été changé" mais le mot de passe ne change pas ?

    Sinon, ton code actuel ne vérifie pas l'ancien mot de passe alors qu'il est demandé et continue même si les deux mots de passe sont différents.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci avant tout pour l'aide

    non pas de message d'erreur un chargement tres long sans aucune action a la fin ( le script a l'air de bloqué au niveau du mysql_query("UPDATE........

    voila le message d'erreur :Fatal error: Maximum execution time of 60 seconds exceeded in D:\wamp\www\in-admin-panel\newPass.php on line 16

    les champs de la table sont en varchar(30)

    sinon je ne fais pas une verification pour simplifier le script. je recupere le log du form html via un identifiant session , et je l'utilise juste retrouver le login de l'utilisateur et le modifier.

    cela est destine a une petite intranet locale , sans gros besoins de securité.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 385
    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 385
    Points : 10 413
    Points
    10 413
    Par défaut
    C'est quoi ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($newpass1 == $newpass2);
    ???

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Mai 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mai 2010
    Messages : 159
    Points : 220
    Points
    220
    Par défaut
    Pour ta requete c'est mieu comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = mysql_query("UPDATE admin SET passcode='".$newpass1."'  WHERE username='".$login."'");
    et en plus tu boucle si pass 1 et égal à pass2 avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while($newpass1 == $newpass2);

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci beaucoup pour l'aide j'ai modifié le code comme tu me l'a signaler et remplacer le While par un If et la bingo la mise a jour marche

    par contre j'ai toujours un message d'erreur via ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    or die ("Erreur : <br/><code>" . $sql . "<code><br/>--<br/>" . "<span class='alert'>" . mysql_error() . "</span>");
    ou ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {echo 'Votre mot de passe à été changé';}
    ce qui est un bizarre

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 385
    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 385
    Points : 10 413
    Points
    10 413
    Par défaut
    Et pour les requêtes c'est encore mieux en utilisant systématiquement mysql_real_escape_string pour protéger les variables dans la requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = mysql_query("UPDATE admin SET passcode='".mysql_real_escape_string($newpass1)."'  WHERE username='".mysql_real_escape_string($login)."'");

  8. #8
    Candidat au Club
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci beaucoup pour les conseils

  9. #9
    Membre actif
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Mai 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mai 2010
    Messages : 159
    Points : 220
    Points
    220
    Par défaut
    si tu fais ça:
    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
     
    $erreur = '';
    if ($newpass1 != $newpass2)	{
    $erreur = 'Vous avez tape deux mots de passe differents';
    }else{
     
     
    		$sql = "UPDATE admin SET passcode='".mysql_real_escape_string($newpass1)."'  WHERE username='".mysql_real_escape_string($login)."'";
     
    		if(mysql_query($sql)){
                    $erreur = 'Votre mot de passe à été changé';
                    }else{
     $erreur = "<br/><code>" . $sql . "<code><br/>--<br/>" 
    		. "<span class='alert'>" . mysql_error() . "</span>");
                   }
     
     
    }
    echo $erreur;
    ça devrait être bon.

Discussions similaires

  1. Modifer mot de passe admin local
    Par dolsky dans le forum VBScript
    Réponses: 1
    Dernier message: 09/02/2009, 09h47
  2. Script type mot de passe
    Par popy67 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 26/10/2008, 10h28
  3. [TUTO] - [Batch DOS] Modification mot de passe automatique J+3
    Par dob2806 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 09/10/2008, 12h25
  4. Script login + mot de passe
    Par morphine63 dans le forum Sécurité
    Réponses: 1
    Dernier message: 21/09/2007, 21h16
  5. Modification mot de passe Linux par Dephi?
    Par nmathon dans le forum Langage
    Réponses: 1
    Dernier message: 12/08/2005, 20h04

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