php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.12.2004, 21:19  
Gast
 
Beiträge: n/a
Standard [Erledigt] passwort ändern

hallo ich bin mit einem projekt beschäftigt vieleicht kann mir jemand weiter helfen ich habe den login fertig möchte aber das der user das passwort selber ändern kann. hier mal der code vieleicht kann mir jemand weiter helfen wäre nett den ich komm nicht weiter. zum sehen für was das sein soll
http://www.swira.de/schule/index.htm ........... user: lala pwd: test

Code:
<?
include ("../../develop/checkuser.php");
include("../../develop/config.php");

echo '<font face="Verdana, Arial, Helvetica, sans-serif">Benutzername '.$user_user.
	 '
Mitarbeiternummer:'.$user_id.'</font>


';

				  
if($status=="update"){
	 $abfrage = "SELECT password FROM mitarbeiter WHERE id='$user_id'";
	 $ergebnis=mysql_query($abfrage);
	 $row=mysql_fetch_array($ergebnis, MYSQL_ASSOC); 
	 
	 
  	if ($a_password1!=$password) {
	echo "Ihr altes Passwort war falsch!";
	exit; 
	}
 
  	if ($a_password1=="" OR $n1_password1=="" OR $n2_password2=="") {
	echo "Sie haben mindestens ein Feld nicht ausgefüllt!";
	exit; 
	}
	if  ($n1_password1!=$n2_password) {
	echo "Ihr Passwort ist ungleich Ihrer Wiederholung!";
	exit; 
	}
	else {	
 	$myUpdate="UPDATE mitarbeiter SET password='$n1_password' WHERE id='$user_id '";
	$test=mysql_query($myUpdate);
	echo "Mein Suchstatement lautet:".$myUpdate;
	echo "Das Ergebnis lautet:".$test;
	} 
}ELSE

echo "<form name=user_aender_form method=\"POST\" action=\"$PHP_SELF?status=update\">";
?>
  <table width="484" border="0" align="center">
    <tr bgcolor="#b7b7b7"> 
      
    <td colspan="3"><font face="Verdana, Arial, Helvetica, sans-serif">Passwort 
      &auml;ndern </font></td>
    </tr>
    <tr> 
      <td width="70"><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td width="193"><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td width="207"><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
    </tr>
    <tr> 
      <td width="70"><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td width="193"></td>
      
    <td width="207"><font face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td><font face="Verdana, Arial, Helvetica, sans-serif">altes Passwort:</font></td>
      <td><input name="a_password" type="password" id="a_password" value=""></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td></td>
      
    <td></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td><font face="Verdana, Arial, Helvetica, sans-serif">neues Passwort:</font></td>
      <td><input name="n1_password" type="text" id="n1_password"></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td></td>
      
    <td></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td><font face="Verdana, Arial, Helvetica, sans-serif">wiederholen Passwort:</font></td>
      <td><input name="n2_password" type="text" id="n2_password"></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td></td>
      
    <td></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td></td>
      
    <td></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
    </tr>
    <tr bordercolor="0" bgcolor="#b7b7b7"> 
      
    <td colspan="2"><div align="left"></div></td>
      <td> 
        <div align="right"> 
          <input type="submit" name="Submit" value="Passwort &auml;ndern">
        </div></td>
    </tr>
  </table>

</form>
</body>
</html>
<?php
#}
?>

ich hätte da auch noch paar ander fragen wenn jemand gedult mit einem anfänger hat frohe weihnachten
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.12.2004, 21:29  
Gast
 
Beiträge: n/a
Standard

Hi,

was funktioniert denn nicht???? Wie soll man dir helfen, wenn du uns nur einen ewig langen Quellcode postest, aber nicht sagst was net funzt.

Zuerstmal ist mir aufgefallen, dass du beim Passwortändern beim neuen Passwort ein normales Textfeld, aber kein Passwortfeld hast. Das solltest du mal zuallererst ändern.

Dann solltest du auch mal die Seite auf richtiges html umstellen:

http://validator.w3.org/check?uri=ht...le%2Findex.htm

Ich habe selbst zwar noch nicht mit Passwortänderung rumprobiert, aber so in etwa sollte es funktionieren:

1. Testen ob das Passwort richtig ist
2. Wenn ja, das Passwort aus der Datenbank löschen
3. neues Passwort eintragen

mfg koelle
 
Alt 25.12.2004, 21:49  
Gast
 
Beiträge: n/a
Standard

ok mein fehler hätte mehr dazu schreiben muessen sicher das html ist schönheitsfehler mir ist aber erst die funktion wichtig. das neue passwort trägt er ein das kein problem, wenn ich die if abfragen ausblende.

ich hatte es mir folgendermassen vorgestellt:


das formular wir mit anklicken geöffnet

mit dem ausfüllen der felder und klick auf dem submit sollte überprüft werden

a) ob das eingetragene alte passwort mit dem der datenbank übereinstimmt

a) sind alle felder ausgefüllt worden

4) ist das neue passwort und das wiederholen gleich

erst dann soll das neue pwdin die datenbank eingetragen werden


die echos suchstadement und ergebnis ist nur für mich zur kontrolle ob es eingetragen wurde und wird entfernt sobald es lauft


im grunde kommt es nur auf diese pasage an :
PHP-Code:

include ("../../develop/checkuser.php");
include(
"../../develop/config.php");

echo 
'<font face="Verdana, Arial, Helvetica, sans-serif">Benutzername :'.$user_user.
     
'
Mitarbeiternummer:'
.$user_id.'</font>


'
;

                  
 if(
$status=="update"){
     
$abfrage "SELECT password FROM mitarbeiter WHERE id='$user_id'";
     
$ergebnis=mysql_query($abfrage);
     
$row=mysql_fetch_array($ergebnisMYSQL_ASSOC); 
     
     
      if (
$a_password1!=$password) {
    echo 
"Ihr altes Passwort war falsch!";
    }
 
      if (
$a_password1=="" OR $n1_password1=="" OR $n2_password2=="") {
    echo 
"Sie haben mindestens ein Feld nicht ausgefüllt!";
    }
    if  (
$n1_password1!=$n2_password) {
    echo 
"Ihr Passwort ist ungleich Ihrer Wiederholung!";
    }
    else {    
     
$myUpdate="UPDATE mitarbeiter SET password='$n1_password' WHERE id='$user_id '";
    
$test=mysql_query($myUpdate);
    echo 
"Mein Suchstatement lautet:".$myUpdate;
    echo 
"Das Ergebnis lautet:".$test;
    } 
}ELSE

echo 
"<form name=user_aender_form method=\"POST\" action=\"$PHP_SELF?status=update\">";
?> 
danke mal für eure hilfe
 
Alt 26.12.2004, 00:05  
Erfahrener Benutzer
 
Registriert seit: 01.08.2004
Beiträge: 113
Kofi
Kofi eine Nachricht über ICQ schicken
Standard

So siehts in etwa bei mir aus. Zuerst kommt ein Formular:
PHP-Code:
<form method="post" action="change_password.php">
   

Altes Passwort</p>
   <
input type="password" name="altespasswort">
   

Neues Passwort</p>
   <
input type="password" name="neuespasswort1">
   

Neues Passwort Wiederholung</p>
   <
input type="password" name="neuespasswort2">
</
form
Die Datei "change_password.php" sieht so aus:
PHP-Code:
// Passwort aus MySQL auslesen und in $richtiges_passwort packen
// (vorher wird geguckt, ob die im Cookie gespeicherten Werte für Username und Passwort richtig sind)
if($altespasswort == $richtiges_passwort && $neuespasswort1 == $neuespasswort2)
{
   
// Passwort updaten und Cookie neu setzen
}
else
{
   echo 
"Falsches Passwort eingegeben!";

edit: lol, im PHP-Code werden keine &-Zeichen angezeigt^^
Kofi ist offline  
Alt 26.12.2004, 21:48  
Gast
 
Beiträge: n/a
Standard

danke mal für deine hilfe hat mich leider nicht weiter gebracht weil ich irgendwie die if abfragen zum laufen bringen muss vieleicht hat jemand anders eine idee


gretzzz Haserl
 
Alt 27.12.2004, 00:07  
Erfahrener Benutzer
 
Registriert seit: 03.11.2004
Beiträge: 289
rbs_phoenix
rbs_phoenix eine Nachricht über ICQ schicken
Standard

Also... zuerst.. so habe ich das, du müsstest, wenn du das übernehmen kannst, willst, nich aus den dateien auslesen sondern aus deinen dateien oder sql auslesen. Dann will ich keine Anmache haben, von leuten, die sagen, das ich keine scripst posten soll, weil ich keine ahnung habe. Ich sage nur, wie ich es gemacht habe, nich wie er es machen soll, kann oder sonstiges...
PHP-Code:
<?php
echo '<form name="" action="'.$PHP_SELF.'" method="post">
<h2>Passwort ändern:</h2>

Alte Passwort: <input type="password" name="pwalt">

Neue Passwort: <input type="password" name="pwneu">

Wiederholung: <input type="password" name="pwneuag">

<input type="submit" value="Ändern" name="pwander">'
;

if (
$pwander){
$ip $_SERVER['REMOTE_ADDR'];  #ipadresse
$userhol 'zs/'.$ip.'zs.php3';  # ließt eine datei mit der ip im namen, da jeder user einen anderen inhalt hat (zb. username oder paswort)
require($userhol); 
$user $zwischensp;  #der mit require ausgelesene username
$pwtake $user.'/'.$user.'pw.php3';  
require(
$pwtake);   #und hier das passwort
if ($pwalt $pwfile){ 
                if (
$pwneu $pwneuag){
         
oeffnen($pwtake"pwfile"$pwneu);
         echo 
'Erfolgreich geändert';}
    else{
         echo 
'Die Wiederholung ist falsch';}
}
else{
    echo 
'Falsches Passwort';}
}
Wenn man den Knopf drückt, dann wird geguckt, ob das alte Passwort dem des noch gesetztem Passwort übereinstimmt (damit man nich ohne das alte nicht zu wissen, dass pw ändern kann).
Wenn nicht wird ausgegeben dass das nicht das richtige pw ist. Wenn es richtig ist, dann wird kontrolliert ob die Wiederholungen gleich sind (da man sich ja mal verschreiben kann, würde ich das immer empfehlen.. is mir schon oft passiert).
danach wird das neue Passwort in die Datei (bzw. sql) geschrieben und das pw ist geändert. so hab ichs gemacht und es funzt... wenn ihr anmerkungen etc. habt, sagt es.. aber wie gesagt, bitte nicht, dass das script die leute auf falsche gedanken bringt..
__________________
Homepage: http://www.rbs-page.de
rbs_phoenix ist offline  
Alt 27.12.2004, 11:57  
Gast
 
Beiträge: n/a
Standard

sorry bei deinem script blick ich nun gar nicht mehr durch...es muss doch möglich sdein das mir jemand sagen kann was ich falsch gemacht habe ich will ja dazu lernen

PHP-Code:
if($status=="update"){ 
    
$abfrage "SELECT password FROM mitarbeiter WHERE id='$user_id'"
    
$ergebnis=mysql_query($abfrage); 
    
$row=mysql_fetch_array($ergebnisMYSQL_ASSOC); 
    
    
     if (
$a_password1!=$password) { 
   echo 
"Ihr altes Passwort war falsch!"
   } 

     if (
$a_password1=="" OR $n1_password1=="" OR $n2_password2=="") { 
   echo 
"Sie haben mindestens ein Feld nicht ausgefüllt!"
   } 
   if  (
$n1_password1!=$n2_password) { 
   echo 
"Ihr Passwort ist ungleich Ihrer Wiederholung!"
   } 
   else {    
   
$myUpdate="UPDATE mitarbeiter SET password='$n1_password' WHERE id='$user_id '"
   
$test=mysql_query($myUpdate); 
   echo 
"Mein Suchstatement lautet:".$myUpdate
   echo 
"Das Ergebnis lautet:".$test
   } 
}ELSE 
die einzelnen abfragen gehn ja .... nur wenn ich es zusammen setze dann geht es nicht


also erster schritt ich ich frage wenn update dann führe mir aus das der status beim öffnen nicht gegeben ist führt wird das else ausgeführt

hier holt er sich das alte passwort vergleicht es wenn es geht dann step 2 er vergleicht die neuen eingegebenen passwörter wenn die auch stimmen trage ein

ich wollte das schon so einfach wie möglich haben .-) vieleicht habe ich es nun verständlicher geschrieben

guten rutsch
 
Alt 27.12.2004, 16:23  
Gast
 
Beiträge: n/a
Standard

nach langem suchen probelm behoben

wenn jemand das script haben möchte hier isses und es geht

PHP-Code:
<?
include ("../../develop/checkuser.php");
include(
"../../develop/config.php");
include(
"../../develop/function.php");

body();
echo 
'<font face="Verdana, Arial, Helvetica, sans-serif">Benutzername :'.$user_user.
     
'
Mitarbeiternummer:'
.$user_id.'</font>


'
;
                   
 if(
$status=="update"){

    
$abfrage "SELECT * FROM mitarbeiter WHERE id='$user_id'";
    
$ergebnis=mysql_query($abfrage);
    
$row=mysql_fetch_array($ergebnisMYSQL_ASSOC); 
    if (
$a_password=="" OR $n1_password=="" OR $n2_password=="") {
            echo
'
            <div align="center">
              

</p>
              

</p>
              

<font size="4" face="Verdana, Arial, Helvetica, sans-serif">Sie haben mindestens ein Feld nicht ausgefüllt!</font> </p>
            </div>'
;
            exit;
    }
    if  (
$n1_password!=$n2_password) {
            echo
'
            <div align="center">
              

</p>
              

</p>
              

<font size="4" face="Verdana, Arial, Helvetica, sans-serif">Ihr Passwort ist ungleich Ihrer Wiederholung!</font> </p>
            </div>'
;
            exit;
    }
    if (
$row[password]!=$a_password) {
            echo
'
            <div align="center">
              

</p>
              

</p>
              

<font size="4" face="Verdana, Arial, Helvetica, sans-serif">Sie haben ihr altes Passwort ist nicht korrekt eingegeben!</font> </p>
            </div>'
;
            exit;
}else{    
        
$myUpdate="UPDATE mitarbeiter SET password='$n1_password' WHERE id='$user_id '";
        
$test=mysql_query($myUpdate);

         if(
$test==1){
            echo
'
            <div align="center">
              

</p>
              

</p>
              

<font size="4" face="Verdana, Arial, Helvetica, sans-serif">Daten wurden erfolgreich ge&auml;ndert </font> </p>
            </div>'
;
            exit;
        } 

}ELSE

echo 
"<form name=user_aender_form method=\"POST\" action=\"$PHP_SELF?status=update\">";
  
?>

  <table width="484" border="0" align="center">
    <tr bgcolor="#b7b7b7"> 
      
    <td colspan="3"><font size="4" face="Verdana, Arial, Helvetica, sans-serif">Passwort 
      &auml;ndern </font></td>
    </tr>
    <tr> 
      <td width="70"><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td width="193"><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td width="207"><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
    </tr>
    <tr> 
      <td width="70"><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td width="193"></td>
      
    <td width="207"><font face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td><font face="Verdana, Arial, Helvetica, sans-serif">altes Passwort:</font></td>
      <td><input name="a_password" type="password" id="a_password" value=""></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td></td>
      
    <td></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td><font face="Verdana, Arial, Helvetica, sans-serif">neues Passwort:</font></td>
      <td><input name="n1_password" type="password" id="n1_password"></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td></td>
      
    <td></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td><font face="Verdana, Arial, Helvetica, sans-serif">wiederholen Passwort:</font></td>
      <td><input name="n2_password" type="password" id="n2_password"></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td></td>
      
    <td></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      
    <td></td>
      
    <td></td>
    </tr>
    <tr> 
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif"></font></td>
    </tr>
    <tr bordercolor="0" bgcolor="#b7b7b7"> 
      
    <td colspan="2"><div align="left"></div></td>
      <td> 
        <div align="right"> 
          <input type="submit" name="Submit" value="Passwort &auml;ndern">
        </div></td>
    </tr>
  </table>

</form>
</body>
</html>
guten rutsch und danke
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
bildanzeige bei falschem passwort chrissie PHP Tipps 2006 1 22.08.2006 15:37
Eingabefenster für Passwort Nevermind PHP Tipps 2007 10 18.12.2005 15:36
Passwort vergessen - Formular PHP Tipps 2005-2 2 31.10.2005 10:40
Passwort genieren und abspeichern PHP Tipps 2005-2 5 22.09.2005 23:07
Passwort zufällig generieren = gefährlich PHP Tipps 2005-2 12 20.07.2005 10:42
[Erledigt] Passwort und Nutzerverwaltung in Php und Mysql PHP Tipps 2005-2 7 23.06.2005 17:46
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
3 Seiten durch Passwort schützen mit einmaliger PW-Eingabe? PHP Tipps 2005 12 19.04.2005 22:41
Passwort geschützte Seite - PHP ohne MySQL PHP Tipps 2004-2 3 29.12.2004 18:26
Mit PHP Windows Passwort aendern? PHP-Fortgeschrittene 4 28.11.2004 00:42
[Erledigt] Passwort vergessen-Script PHP Tipps 2004-2 8 11.11.2004 18:56
HTACCESS Passwort per PHP erzeugen! Broadcast PHP-Fortgeschrittene 14 07.11.2004 23:17
Passwort übergeben duerov PHP Tipps 2004 5 27.09.2004 09:41
Passwort verschlüsselung Datenbanken 5 06.09.2004 10:31
benutzername + passwort pruefen PHP Tipps 2004 4 07.07.2004 16:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
h2 user pw ändern, sql user kennwort ändern, html passwortfeld als normales feld, set cookie haserl

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.