hallo leute
ich bastel gerade an einem login system für ein intranet. das login habe ich, logout auch nun will ich ein formular erstellen das das die user ihre passwörter ändern können. eig habe ich das auch schon soweit..allerdings ist da irgendwo ein fehler und ich finde ihn einfach nicht...kann mir jemand helfen?
hier mien code
Die Ausgabe ist immer....altes passwort falsch...und ich weiss nicht warum?
Danke schonmal. Ich hoffe Ihr könnt mir weiter Helfen.
Dazu zu sagen ist noch das die aktuellen Passwörter in einer Datenbank liegen und SHA verschlüsselt sind. Was ich auch sehr komisch finde ist das die passwörter bei eingabe in dieses Formular im Klartext erscheinen...in meinem Login Formular erscheinen nur Sternchen.
Danke
ich bastel gerade an einem login system für ein intranet. das login habe ich, logout auch nun will ich ein formular erstellen das das die user ihre passwörter ändern können. eig habe ich das auch schon soweit..allerdings ist da irgendwo ein fehler und ich finde ihn einfach nicht...kann mir jemand helfen?
hier mien code
PHP:
<?php
require_once('verbvars.php');
require_once('begin.php');
session_start();
$fehlermldg = "";
$userid = $_COOKIE['user_id'];
$old = ($_POST['old_pw']);
$pass=SHA1($old);
$new1 =($_POST['new_pw1']);
$new1a=SHA1($new1);
$new2 =($_POST['new_pw2']);
$new2a=SHA1($new2);
//if (!isset($_SESSION['user_id'])){
if(isset($_POST['change_submit'])){
//controll if every field is filled
if(!empty($_POST['old_pw']) && !empty($_POST['new_pw1']) && !empty($_POST['new_pw2'])){
//Connect to Database
$db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
mysqli_set_charset($db, "utf8");
//Select old Password(SHA) from Database
$old1="SELECT password FROM employee WHERE user_id='$userid'";
//$old2=SHA1('$old1');
//check if inserted password is equal with the database password
if (($pass)==($old1)){
//check if new password is the same as confirmed password
if($new1a==$new2a){
if (mysqli_num_rows($result) == 1){
$sql="UPDATE employee SET password=SHA('$new1') WHERE user_id='$userid'";
$result=mysqli_query($db, $sql);
echo 'Congratulation. You have successfully changed your password.';
echo '<br /> <br />';
echo '<a href="http://localhost/testseite.html">Back to Mainpage</a>';
mysqli_close($db);
exit();
}
else{
echo'Wrong Login informaton';
echo '<br>';
echo '<a href=http://localhost/new2.php>Back</a>';
mysqli_close($db);
exit();
}
mysqli_close($db);
exit();
}
else{
echo 'The new password and confirm new password fields must be the same';
echo '<br>';
echo '<a href=http://localhost/new2.php>Back</a>';
mysqli_close($db);
exit();
}
}
else{
echo 'Your old passwort is invalid';
echo '<br>';
echo '<a href=http://localhost/new2.php>Back</a>';
mysqli_close($db);
exit();
}
}
else{
echo 'You have to fullfill all textfields';
}
}
?>
Die Ausgabe ist immer....altes passwort falsch...und ich weiss nicht warum?
Danke schonmal. Ich hoffe Ihr könnt mir weiter Helfen.
Dazu zu sagen ist noch das die aktuellen Passwörter in einer Datenbank liegen und SHA verschlüsselt sind. Was ich auch sehr komisch finde ist das die passwörter bei eingabe in dieses Formular im Klartext erscheinen...in meinem Login Formular erscheinen nur Sternchen.
Danke
Zuletzt bearbeitet: