Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 10:50

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Passwort change [php-mysql]

Discussion on Passwort change [php-mysql] within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2013
Posts: 47
Received Thanks: 2
Passwort change [php-mysql]

Hallo,

ich habe ein kleines Problem. Bei registrieren, wir das passwort in md5 in die mysql datenbank gespeichert, in einer ganz normalen Tabelle. Das Passwort kann man sich in den Moment nicht aussuchen und es wird automatisch generiert und an die e-mail geschickt.

Nun möchte ich eine Funktion schreiben damit man das Passwort wieder ändern kann ich ein beliebiges.

Mein Code bisher:

PHP Code:
<?php
        
        
if($_REQUEST["Submit"]=="pwchange")
        {
                
$pwget="GET passwort FROM main Where id='$_SESSION['id']' ";
                
$altespw mysql_query($pwget);
                if(!
md5($_POST['oldpw']) == $altespw)
                {
                    echo 
'false';
                }
                else
                {
                
                
$sql="UPDATE main SET passwort ='$_POST['newpw']' WHERE id='$_SESSION['id']' ";
                
//echo $sql;
                
mysql_query($sql);
                
                }        
        }
        
?>
        <form action="" method="post">
        <div class="datagrid"><table><thead><tr><th>Altes Passwort</th><th>Neues Passwort</th></tr></thead>
        <tbody><tr><td><input type"text" name="oldpw" id="oldpw" class="round" maxlength="32" /><br /></td>
        <td><input type"text" name="newpw" id="newpw" class="round" maxlength="32" /><br /></td></tr></tbody><br />
        <div class="datagrid"><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table></div><br />
        <div align="center"><input type="submit" name="pwchange" style="width:400px; height:350" value="Passwort ändern" /></div><br />
        </form>
Funktioniert leider nicht, was hgabe ich falsch gemacht?

Lg
Online-Tube is offline  
Old 03/03/2013, 15:04   #2
 
elite*gold: 0
Join Date: Dec 2008
Posts: 36
Received Thanks: 4
so sollte es gehen:

PHP Code:

<?php   
          
        
if($_POST["Submit"]=="pwchange")   
        {   
        
$session_id $_SESSION['id'];
                 
//SELECT nicht GET 
                
$query_altespw mysql_query("SELECT `passwort` FROM `main` WHERE id='$session_id'");  
                
$result_altespw mysql_fetch_array($query_altespw);  
                
$altespw $result_altespw["passwort"];  
                
//das ! vor dem == um auf gleichheit zu prüfen 
                //!md5 ist für die funktion also wenn md5() false liefern würde 
                
if(md5($_POST['oldpw']) !== $altespw)   
                {   
                    echo 
'false';   
                }   
                else   
                {   
                
//mysql_real_escape_string schützt vor sql injection 
                
$newpw mysql_real_escape_string($_POST["newpw"]);
                
$newpw md5($newpw);
                
$update mysql_query("UPDATE `main` SET `passwort`='$newpw' WHERE id='$session_id'");   
                 if(
$update){ 
                 echo 
"true"
                 }
                  
                   
                }
        }
        
?>
SQL-Injection
Rmark is offline  
Old 03/03/2013, 15:44   #3
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Es gibt bei deinem Code einige Komplikationen mit ' und ".

Ebenso muss das neue PW auch mit md5 gespeichert werden.

Folgend zu lösen:
PHP Code:
<?php  
         
        
if($_POST["Submit"]=="pwchange")  
        {  
                 
//SELECT nicht GET
                
$query_altespw mysql_query("SELECT `passwort` FROM `main` WHERE id='".$_SESSION['id']."'"); 
                
$result_altespw mysql_fetch_assoc($query_altespw); 
                
$altespw $result_altespw["passwort"]; 
                
//das ! vor dem == um auf gleichheit zu prüfen
                //!md5 ist für die funktion also wenn md5() false liefern würde
                
if(md5($_POST['oldpw']) != $altespw)  
                {  
                    echo 
'false';  
                }  
                else  
                {  
                
//mysql_real_escape_string schützt vor sql injection
                
$newpw mysql_real_escape_string($_POST["newpw"]); 
                
$newpw md5($newpw);
                
$update mysql_query("UPDATE `main` SET `passwort`= '".$newpw."' WHERE id= '".$_SESSION['id']."'");  
                 if(
$update){
                 echo 
"true";
                 }
                 
                  
                }          
        }  
        
?>
Mikesch01 is offline  
Old 03/03/2013, 16:19   #4
 
elite*gold: 0
Join Date: Feb 2013
Posts: 47
Received Thanks: 2
Danke euch beiden, leider scheint das ganze nicht zu funktionieren.
Wenn ich auf den Button drücke, kommt weder true noch false.
Der Text verschwindet einfach und in der Datenbank tut sich auch nichts.
Online-Tube is offline  
Old 03/03/2013, 16:30   #5
 
elite*gold: 0
Join Date: Dec 2008
Posts: 36
Received Thanks: 4
Versuch mal das. Eventuell kommt ein fehler. Wenn ja poste den mal.

PHP Code:
<?php   
          
        
if(isset($_POST["pwchange"]))   
        {
        
$session_id $_SESSION['id'];
                 
//SELECT nicht GET 
                
$query_altespw mysql_query("SELECT `passwort` FROM `main` WHERE id='$session_id'") OR die(mysql_error());  
                
$result_altespw mysql_fetch_array($query_altespw);  
                
$altespw $result_altespw["passwort"];  
                
//das ! vor dem == um auf gleichheit zu prüfen 
                //!md5 ist für die funktion also wenn md5() false liefern würde 
                
if(md5($_POST['oldpw']) !== $altespw)   
                {   
                    echo 
'false';   
                }   
                else   
                {   
                
//mysql_real_escape_string schützt vor sql injection 
                
$newpw mysql_real_escape_string($_POST["newpw"]);
                
$newpw md5($newpw);
                
$update mysql_query("UPDATE `main` SET `passwort`='$newpw' WHERE id='$session_id'") OR die(mysql_error());  
                 if(
$update){ 
                 echo 
"Passwort geändert"
                 }
                  else{echo 
"FEHLER";}
                   
                }
        }
        else{
        
?>
        <form action="#" method="post"> 
        <div class="datagrid"><table><thead><tr><th>Altes Passwort</th><th>Neues Passwort</th></tr></thead> 
        <tbody><tr><td><input type="text" name="oldpw" id="oldpw" class="round" maxlength="32" /><br /></td> 
        <td><input type="text" name="newpw" id="newpw" class="round" maxlength="32" /><br /></td></tr></tbody><br /> 
        <div class="datagrid"><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table></div><br /> 
        <div align="center"><input type="submit" name="pwchange" style="width:400px; height:350" value="Passwort ändern" /></div><br /> 
        </form>
        <?php
        
}
        
?>
EDIT: Habs gerade mal bei mir ausprobiert und es funktioniert.
Rmark is offline  
Old 03/04/2013, 19:06   #6
 
elite*gold: 0
Join Date: Feb 2013
Posts: 47
Received Thanks: 2
danke!
Online-Tube is offline  
Reply


Similar Threads Similar Threads
mysql passwort
09/08/2012 - Metin2 Private Server - 1 Replies
hallo ich wollte ma fragen wie man das mysql passowrt in navicat ändert da ich meins vergessen habe.
Mysql Passwort change per Putty
09/13/2011 - Metin2 Private Server - 7 Replies
Bin gerade zu Blond - und NOCH TOTAL Müde. Welcher command war es doch um in Putty das Passwort für Mysql zu Ändern? :/
MySQL Passwort?
07/05/2011 - Metin2 Private Server - 6 Replies
Hey, Ich wollte euch mal fragen wie man das MySQL Passowrt auslesen kann ohne das zu ändern wenn man es vergessen hat? P.S: ich meine das Passwort um sich in Navicat einzuloggen.
Passwort von MySQL.
03/21/2010 - Metin2 Private Server - 10 Replies
Hallo ich habe passwort von MySQL gändert. Aber Falsch. Mir mir jemand sagen welches Passwort in MySQL unter "mysql" dan "user" bei "locale" "mt2" hin kommt. Ich brauche das passwort. GEBE JEDE MENGE THANKS IST WICHTIG
[HELP]MySQL Passwort
01/30/2010 - Metin2 Private Server - 1 Replies
Hey Leute ich habe das MySql ( Navicat) passwort wie in diesem Theard http://www.elitepvpers.com/forum/metin2-pserver-gui des-strategies/379706-how-server-passw-rter-ndern. html geändert -.- Und jetzt ? Stimmt das geänderte Passwort nicht mehr -.- Kann mir jemand sagen wie ich Es wieder Zurücksetzten kann or sooo. Wäre sehr dankbar . Liebe Grüße ExTrack



All times are GMT +2. The time now is 10:51.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.