andreas: Wert in Session aktualisieren

Beitrag lesen

Hi!

kann das manchmal richtiger sein?:

session_unregister("$old_pass");
session_register("$new_pass");

habe mit sessions noch nicht gearbeitet, aber so aus der allgemeinen Logik heraus halte ich das so für richtiger.

Also das erste was ich über Session Register gelernt habe, war dass die Variablen OHNE $ eingetragen werden.
2. Brauche ich ja die Variable "$pass", da ich die auf jeder Seite abfrage und überprüfe. In der Variable steht auch immer der richtige Wert, wird ja schließelich in DB eingetragen, nur das mit den Sessions will nicht klappen. Ìch kann ja mal das ganze Script posten, dann versteht ihr das vieleicht etwas besser:

<?
@session_start();

include "verb.php";

Prüfung ob Zugangsdaten aus Session korrekt:

if (!isset($UID) OR !isset($user) OR !isset($pass)){
header ("Location: login.php");
exit;
}
else{
$query = "SELECT pass FROM kunden WHERE ID = '$UID'";
$res = mysql_query($query, $link);
$benutzer=mysql_fetch_array($res);
$hash = MD5($pass.$user);
if($benutzer[pass] != $hash) {
header ("Location: login.php");
exit;
}
}

Wenn Formular abgeschickt

if ($typ == "update"){
if ($new_pass!=""){
$password = $new_pass;}
else {
$password = $old_pass;}
$user = $new_user;

$hash = MD5($password.$user);

$update = "UPDATE kunden SET user='$user',pass='$hash' WHERE ID='$UID'";
$res = mysql_query($update, $link);

session_unregister("pass");
$pass=$password;
session_register("UID","user","pass");}
}

?>

<form name="form1" method="post" action="<? echo"$PHP_SELF"?>">

&Auml;ndern Sie Ihre Zugangsdaten<br>

Benutzername <input type="text" name="new_user" value="<? echo "$user" ?>"><br>

altes Passwort <input type="password" name="old_pass"><br>

neues Passwort <input type="password" name="new_pass"><br>

neues Passwort wiederholen: <input type="password" name="new_pass2"><br>

<input type=image src="images/go.gif" name="image" border="0">

<input type="hidden" name="typ" value="update">

</form>

Und jetzt nochmal das genau Problem, solange ich nur Benutzernamen ändere ist alles OK(auch ohne session_unregister), aber sobald ich das Passwort ändere werde ich rausgeschmissen(durch meine eigene Prüfung, und zwar ab hash in DB = hash in Session.

WAS SOLL ICH MACHEN???

PS: Ich habe ein paar Prüfroutinen weggelassen,damit es übersichtlicher wird, aber die haben keinen Einfluß auf das Problem gehabt!

Grüsse
  Andreas