Hay.
Ich bin fleissig am php lernen und versuche nun ein Formular zu erstellen.
Nun versuche ich einen wert in meinem fall ein Passwort zu updaten.
Bis auf das ändern funktioniert alles, nur dass Updaten nicht jedoch gibt es auch keine Fehlermeldungen.
(Bin noch am lernen und ich will noch herausfinden wie ich das ganze etwas kompakter schreiben kann, daher nehmt es mir nicht übel ich mache das wirklich nur zum lernen)
ich habe mir das so gedacht:
Ich bin fleissig am php lernen und versuche nun ein Formular zu erstellen.
Nun versuche ich einen wert in meinem fall ein Passwort zu updaten.
Bis auf das ändern funktioniert alles, nur dass Updaten nicht jedoch gibt es auch keine Fehlermeldungen.
(Bin noch am lernen und ich will noch herausfinden wie ich das ganze etwas kompakter schreiben kann, daher nehmt es mir nicht übel ich mache das wirklich nur zum lernen)
ich habe mir das so gedacht:
HTML:
<?php
//Verbindung zur DB
require_once ('mysql-connection.php');
$db = new mysqli( $host_MYSQL , $user_MYSQL , $password_MYSQL , $database_MYSQL);
if($db->connect_error):
echo 'Verbindung Fehlgeschlagen';
endif;
$abfrage = $db->query("SELECT * From user");
//Session select user
$search_user = $db->prepare("SELECT * FROM user WHERE id = ?");
$search_user->bind_param('i',$_SESSION['user']);
$search_user->execute();
$search_result = $search_user->get_result();
if($search_result->num_rows == 1):
$search_object = $search_result->fetch_object();
//Logout funktion
if(isset($_POST['logout'])):
session_destroy();
header('Location: ./index.php');
endif;
endif;
//Passwort Ändern
while($ausgabe = $abfrage->fetch_object()){
$name = $search_object->user;
$active_password = $ausgabe->password;
$old_password = $_POST['old_password'];
$new_password = $_POST['new_password'];
$confirm_password = $_POST['confirm_password'];
};
//Funktion zum Updaten
$update = mysqli_query($db, "UPDATE user Set password = $new_password' WHERE id = '$name'");
if(isset($_POST['change_password'])){
// Überprüfe auf Leere Felder
if (empty($old_password) || empty($new_password) || empty($confirm_password)) {
echo "fülle alle felder aus";
}
else {
// Überprüfe ist Aktives Passwort gleich Angegebenes altes Passwort
if ($active_password === $old_password){
//Überprüfe ist Aktives Passwort nicht gleich Neues Passwort
if ($active_password !== $new_password) {
//Überprüfe sind neues Passwort und Bestätigung gleich
if ($new_password === $confirm_password){
//Passwort ersetzen
$update;
}
else {
echo "Die Passwörter Stimmen nicht überein!";
}
}
else {
echo "Das Neue Passwort darf nicht dem alten Entsprechen!";
}
}
else {
echo "Das Alte Passwort ist fehlerhaft!";
}
}
}
?>
<nav class="nav-user">
<div class="nav-center">
<ul class="nav-user-ul">
<li class="nav-user-li">
<a class="nav-button" href="index.php?page=user">Nutzer Profil</a>
</li>
<li class="nav-user-li">
<a class="nav-button" href="index.php?page=order">Bestellungen</a>
</li>
<li class="nav-user-li">
<a class="nav-button" href="index.php?page=bill">Rechnungen</a>
</li>
<li class="nav-user-li">
<a class="nav-button" href="index.php?page=settings">Einstellungen</a>
</li>
</ul>
</div>
</nav>
<div class="item-user-div">
<form method="post">
<input name="old_password" placeholder="Altes Passwort" type="password">
<input name="new_password" placeholder="Neues Passwort" type="password">
<input name="confirm_password" placeholder="Passwort Widerholen" type="password">
<button class="button-send" method="post" name="change_password">Passwort Ändern</button>
<button class="button-send" method="post" name="logout">Logout</button>
</form>
Zuletzt bearbeitet: