Hoe laat je een user zelf zijn pass in mysql veranderen?
Ik heb een db met daarin de tabel gebruikers...
Ik heb een login script gebruikt en dat werkt goed. Ik wil nu alleen een pagina maken waar de gegevens van de ingelogde persoon te vinden zijn. Hij kan daar zelf zijn naam en adres en wachtwoord zien. Ook moet hij daar zijn gegevens kunnen aanpassen. Daar draait mijn hele vraag eigenlijk om.
Deze stappen krijg ik alleen niet voor elkaar.
Heeft iemand een idee hoe die code eruit komt te zien?
Na het submitten:
Code (php)
1
2
3
2
3
<?
mysql_query("UPDATE tabel SET naam='" . $naam . "', email='" . $email . "', wachtwoord='" . md5($wachtwoord) . "' WHERE id = '" . $_SESSION['id'] . "'");
?>
mysql_query("UPDATE tabel SET naam='" . $naam . "', email='" . $email . "', wachtwoord='" . md5($wachtwoord) . "' WHERE id = '" . $_SESSION['id'] . "'");
?>
Of iets dergelijks ;)
Deze werkt alleen niet.
Na het invoeren laadt het even, en laat dan weer de lege velden zien.
Er is dan niets veranderd in de db...
Iemand een idee?
<html>
<head>
<title>Login pagina</title>
</head>
<body>
<form method="post" action="pass.php">
<input type="hidden" name="Submit" value="1">
<input type="text" name="gebruikersnaam">
<input type="text" name="password_old">
<input type="password" name="password_new">
<input type="password" name="password_new_check">
<input type="submit" value="Login">
</form>
<p>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
$DBHost = "hh";
$DBLogin = "hhh";
$DBPassword = "hhhh";
$DBDatabase = "hhh";
mysql_connect("$DBHost", "$DBLogin", "$DBPassword");
@mysql_select_db("$DBDatabase");
$gebruikersnaam = md5($_POST['gebruikersnaam']);
$password_old = md5($_POST['password_old']);
$password_new = md5($_POST['password_new']);
$password_new_check = md5($_POST['password_new_check']);
if (!empty($password_old) && !empty($password_new) && !empty($password_new_check)) {
$sql=mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam='$gebruikersnaam'");
while($data=mysql_fetch_array($sql)) {
if ($data['password'] == $password_old) {
if ($password_new == $password_new_check) {
mysql_query("UPDATE gebruikers SET password='$password_new' WHERE gebruikersnaam = '$gebruikersnaam'");
}
else {
$error = "De wachtwoorden komen niet overeen";
}
}
else {
$error = "Het wachtwoord is onjuist";
}
}
}
else { $error = "Je bent iets vergeten in te vullen."; }
?>
$DBHost = "hh";
$DBLogin = "hhh";
$DBPassword = "hhhh";
$DBDatabase = "hhh";
mysql_connect("$DBHost", "$DBLogin", "$DBPassword");
@mysql_select_db("$DBDatabase");
$gebruikersnaam = md5($_POST['gebruikersnaam']);
$password_old = md5($_POST['password_old']);
$password_new = md5($_POST['password_new']);
$password_new_check = md5($_POST['password_new_check']);
if (!empty($password_old) && !empty($password_new) && !empty($password_new_check)) {
$sql=mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam='$gebruikersnaam'");
while($data=mysql_fetch_array($sql)) {
if ($data['password'] == $password_old) {
if ($password_new == $password_new_check) {
mysql_query("UPDATE gebruikers SET password='$password_new' WHERE gebruikersnaam = '$gebruikersnaam'");
}
else {
$error = "De wachtwoorden komen niet overeen";
}
}
else {
$error = "Het wachtwoord is onjuist";
}
}
}
else { $error = "Je bent iets vergeten in te vullen."; }
?>
</body>
</html>