Passwort ändern in MYSQL über php script geschlossen 

  • Ersteller Ersteller Free.Softler
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
F

Free.Softler

Halloa ihrs =)

ich bin am Ende meines Wissens (Gut, ist nicht viel vorhanden).. nach nun gut 10 Stunden googeln und ausprobieren ist nichts lauffähiges bei raus gekommen, deshalb frag ich mal hier =)

Ein Login-Script ist fertig und lauffähig, dieses schreibt folgende Werte (hab nur die relevanten zum Passwort ändern aufgelistet) in eine Session

// Sessionvariablen erstellen und registrieren
$_SESSION['user_id'] = $data['Benutzer_Id'];
$_SESSION['user_nickname'] = $data['Nickname'];


Die Benutzer-Id ist per phpmyadmin auf "auto_increment" gestellt und somit für jeden User individuell

Nun zum Passwort ändern hab ich mir vom Prinzip nen ganz einfaches Script überlegt:

Datenbankzugang
2 Eingabefelder bestehend aus "Passwortneu" und "Passwortneu wiederholen"
PHP-Verarbeitung
Ausgabe: Passwort wurde erfolgreich geändert else Passwort wurde falsch eingegeben

Geht dann so los: Dateiname: changepw.php






// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "xxx", "xxx");
if (!mysql_select_db ("xxx", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}

?>



Kennwortneu:

Kennwortneu wiederholen:





Ja und jetzt die Verarbeitungsgeschichte.. soviel heut rumprobiert und nichts bei rausgekommen..
Liegt eben auch daran, dass ich echt total neu in dem Gebiet bin..
ich lass es mal leer, bitte nicht negativ auffassen -> will echt was lernen :P
Bei der Verarbeitung würd ich auch gleich die If-Else Clause für die Ausgabe mit einbauen

?>



Danke schonmal für jede Hilfe, die ich von euch bekomm :)
 
meines erachtens ist der aufbau deines dokumentes etwas ungünstig.
ich hab mir die freiheit genommen es umzubauen, ich hoffe es erklärt sich anhand der codes warum
PHP:
$connectionid = mysql_connect ("localhost", "xxx", "xxx");
mysql_select_db ("xxx", $connectionid) or die ("Keine Verbindung zur Datenbank"); // verkürste schreibweise

if(isset($_POST['pass1'])){// wurde das formular abgeschick
if($_POST['pass1'] == $_POST['pass2']){// kommt die überprüfung, ob beides gleich ist
$sql = "UPDATE 
`xxx`
SET
`Passwort` = '".$_POST['pass1']."'
WHERE
`Benutzer_Id` = ".$_SESSION['user_id']; //es folg der mötige sql syntax
$result = mysql_query($sql) or die('cannot change password:
'.mysql_error()); // mit eintragen ind die db
$content = 'Passwort wurde geändert';//und der ausgabe
}
else
$content = 'Passwort wurde falsch eingegeben';//wenns nicht übereinstimmt
}
else{ // wenn das formular nicht abgeschickt wurde
$content = '
';
$content.= 'Kennwortneu: 
';
$content.= 'Kennwortneu wiederholen: 
';
$content.= '';
$content.= '
';
}

$html = '';
$html.= '';
$html.= '';
$html.= ''; 
$html.= $content;// eingliederung in deine ausgabe
$html.= '';
$html.= '';

echo $html;
?>
EDIT:
direkt vergessen zu sagen^^
ich habs nicht getestet, kann also fehler enthalten

edit2:
Soetwas ist ganz schön gefährlich: SQL injection - Wikipedia, the free encyclopedia
Entweder, du bringst hier noch PHP: addslashes - Manual ein oder arbeitest generell mit Hash, was für den Fall, jmd bekommt Einblick in deine DB, sicherer ist.
MD5 ist alt und überholt, ich würde dir zu sha256 raten. PHP: hash - Manual
ich hatte überlegt, ob ich das noch mit reinnehme, habs dann aber gelassen, da ich den eindruck hatte, dass Free.Softler relativ neu auf dem gebiet php ist.
 
Zuletzt bearbeitet von einem Moderator:
Code:
UPDATE 
`xxx`
SET
`Passwort` = '".$_POST['pass1']."'
WHERE
`Benutzer_Id` = ".$_SESSION['user_id']
Soetwas ist ganz schön gefährlich: SQL injection - Wikipedia, the free encyclopedia
Entweder, du bringst hier noch PHP: addslashes - Manual ein oder arbeitest generell mit Hash, was für den Fall, jmd bekommt Einblick in deine DB, sicherer ist.
MD5 ist alt und überholt, ich würde dir zu sha256 raten. PHP: hash - Manual

Gruß
Broken Sword
 
Zuletzt bearbeitet von einem Moderator:
Heyo,
danke für eure Hilfe,
werd mich jetzt ransetzen des in meine Seite zu integrieren :)
Was haltet ihr von MYSQL für Dummies (MySQL 4) als Lektüre? - Hab des gestern hier aus dem Forum bekommen, find des als Einstieg (hab leider keinen Vergleich) doch ganz gut :)
 
das ist bestimmt nicht verkehrt kann man ja mal durcharbeiten
aber mein favourit ist und bleibt quakenet
da kann man alles lernen rund ums homepage programmieren
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten