Hallo liebe Gemeinde
ich kann und will es einfach nicht verstehen...
Mein Cousin hat mich auf seinen Webshop aufmerksam gemacht. Dort kann man sich anmelden, man wird Produkte kaufen können etc etc.
So jetzt gibt es folgendes Problem, er schreibt gerade das Usercenter, die Seite wo man bei Bedarf verschiedene Angaben verändern kann, und wenn man sein Passwort ändern möchte... dann funktioniert das zwar, aber die funktion, die überprüft ob das eingegebene KW dem bisherigen entspricht meint das es Probleme gibt.
Bitte macht euch selbst ein Bild:
Usercenter
test account: "mamu"
test KW: "mamu"
Hier die Funktionen:
Und noch die Seite selbst:
Bitte um Rat, denn ich kenn mich nicht aus
lg Flo
ich kann und will es einfach nicht verstehen...
Mein Cousin hat mich auf seinen Webshop aufmerksam gemacht. Dort kann man sich anmelden, man wird Produkte kaufen können etc etc.
So jetzt gibt es folgendes Problem, er schreibt gerade das Usercenter, die Seite wo man bei Bedarf verschiedene Angaben verändern kann, und wenn man sein Passwort ändern möchte... dann funktioniert das zwar, aber die funktion, die überprüft ob das eingegebene KW dem bisherigen entspricht meint das es Probleme gibt.
Bitte macht euch selbst ein Bild:
Usercenter
test account: "mamu"
test KW: "mamu"
Hier die Funktionen:
PHP-Code:
function has_changed($var) {
if ($_POST[$var] != $_SESSION['user_'.strtolower($var)] AND !empty_formular($var))
return true;
else
return false;
}
function new_kennwort() {
if (!has_changed("Kennwort") AND (!empty_formular('new') AND
!empty_formular('new2')) AND $_POST['new'] == $_POST['new2'])
return true;
else
return false;
}
function update_kennwort() {
if (new_kennwort()) {
$_SESSION['user_kennwort'] = $_POST['new'];
return "Kennwort = MD5('".$_POST['new']."')";
}
}
function changeformular($label, $name, $type) {
echo "<tr><td width=\"200\">".$label.":</td><td><input type=\"".$type."\"";
if ($type != 'password') {
echo ' value="'.$_SESSION['user_'.strtolower($name)].'"';
}
echo " name=\"".$name."\" class=\"registerform\" />";
if (isset($_POST[$name])) {
echo "</td><td align=\"left\"><span class=\"smallalert\">";
if (exists($name))
echo "* \"".$_POST[$name]."\" ist bereits in Verwendung";
if (invalid_email($name))
echo "* Ihre email-Adresse ist ungültig";
if (!new_kennwort() AND $name == "Kennwort" AND has_changed($name))
echo "* Falsches Kennwort";
echo "</span>";
}
echo "</td></tr>\n";
}
PHP-Code:
echo ' <p id="title">Usercenter</p>';
if (isset($_POST['submit'])) {
if ((!empty_formular('Vorname') AND
!empty_formular('Nachname') AND
!empty_formular('email') AND
!empty_formular('Adresse') AND
!invalid_email('email') AND
!exists('email')) AND
(has_changed('Vorname') OR
has_changed('Nachname') OR
has_changed('email') OR
has_changed('Adresse') OR
has_changed('email') OR
new_kennwort())) {
$update = "UPDATE
Users
SET
".update_change('Vorname')."
".update_change('Nachname')."
".update_change('email')."
".update_change('Adresse')."
".update_kennwort()."
WHERE
ID = ".$_SESSION['user_id'].";";
var_dump($update);
var_dump(new_kennwort());
//mysql_query($update) OR die(mysql_error());
echo '<br /><p id="suc">Daten erfolgreich geändert!</p>';
} else {
echo '<br /><p id="badsuc">Es wurden keine Daten
verändert!</p>';
}
}
echo '
<p id="def">Falls Sie ihre Benutzerdaten ändern wollen,<br />
geben Sie ihre gewünschten Daten in die richtigen Felder ein.<br />
Nach dem Absenden, gehen ihre ursprünglichen Daten verloren!<br />
Falls Sie ein falsches altes Kennwort eingeben, werden trotzdem die
restlichen Veränderungen vollzogen.<br />
Es ist also nicht notwendig ein neues Kennwort anzugeben.
</p>';
echo '
<form action="index.php?section=usercenter" method="post">
<table align="center">';
changeformular('Vorname', 'Vorname', 'text');
changeformular('Nachname', 'Nachname', 'text');
changeformular('email', 'email', 'text');
changeformular('Adresse', 'Adresse', 'text');
echo '<tr>
<td width="250">Benutzername:</td>
<td> '.$_SESSION['user_benutzername'].'</td>
</tr>';
changeformular('Altes Kennwort', 'Kennwort', 'password');
changeformular('Neues Kennwort', 'new', 'password');
changeformular('Kennwort wiederholen', 'new2', 'password');
echo '<tr>
<td align="right"><input type="submit" name="submit" value="Daten ändern" /></td>
</tr>
</table>
</form>';
lg Flo
EDIT:
HAT SICH ERLEDIGT
Das hab ich gemacht
PHP-Code:function update_kennwort() {
if (new_kennwort()) {
$_SESSION['user_kennwort'] = $_POST['new'];
$_POST['Kennwort'] = "";
return "Kennwort = MD5('".$_POST['new']."')";
}
}
Vergleiche:
function update_kennwort() {
if (new_kennwort()) {
$_SESSION['user_kennwort'] = $_POST['new'];
return "Kennwort = MD5('".$_POST['new']."')";
}
}
Kommentar