na gut, wird dann zwar etwas mehr, aber von mir aus
PHP:
session_start();
if(!isset($_SESSION['username']))
{
$_SESSION['username']=$_POST['login'];
}
if(!isset($_SESSION['password']))
{
$_SESSION['password']=md5($_POST['password']);
}
$conn = mysql_connect("nönö", "auchnet", "schogarnet");
if(!$conn)
{
echo "Verbindung zur Datenbank fehlgeschlagen.";
}
else
{
mysql_select_db("user");
}
$login=$_POST['login'];
$daten = "SELECT * FROM `table` where `username`='$login'";
$auslesen_daten = mysql_query($daten) or die("Error: " . mysql_error());
$daten = mysql_fetch_object($auslesen_daten);
$password = ($daten->password);
if($password==md5($_POST['password']) or $_SESSION['password']==$password)
{
$logged_in=1;
$_SESSION['logged_in']=$logged_in;
$username = ($daten->username);
$user = ($daten->Vorname)." ".($daten->Nachname);
$vorname = ($daten->Vorname);
$nachname = ($daten->Nachname);
$strasse = ($daten->Str);
$HsNr = ($daten->HausNR);
$plz = ($daten->PLZ);
$ort = ($daten->Ort);
$telefon = ($daten->Telefon);
$fax = ($daten->Fax);
$handy = ($daten->Handy);
$email = ($daten->eMail);
}
var_dump($_SESSION);
?>
Kurz gesagt - hole mir zum User, der sich einloggt die Daten aus der Datenbank, vergleiche vorher aber die Passwörter.
Hierzu das Formular, das aktiviert wird, wenn die Session noch nicht gesetzt ist.
PHP:
<?php
if(!isset($_SESSION['username']))
{
echo '
<form action="./members.php" method="post">
Formlar mit Submit name="submit"
</form>
';
}
?>
Wenn dann alles geklappt hat, die Session aktiv und die Passwortabfrage korrekt ist, dann lädt er mir die Daten in Formular 2:
PHP:
<?php
if(isset($_SESSION['username']) and $_SESSION['username']!="" and ($logged_in=="1" or $_SESSION['logged_in']=="1"))
{
echo '
<form action="members.php" method="post">
Formular mit Submit-Button name="submit2"
</form>
';
}
else
{
if($submit)
{
echo '<font color="yellow"><big>Die eingegebenen Daten sind nicht korrekt!<br> <a href="http://www.mrg-abi2004.de/members.php">Zurück</a></big></font>';
}
}
?>
Danach kommt dann das Datenbank-Update:
PHP:
<?php
if($submit2)
{
$user= $_SESSION['username'];
Hier hol ich die Daten aus dem $_POST
$update = "UPDATE `table` SET
Hier update ich die einzelnen Variablen
where `username`='$user'";
$exec_update = mysql_query($update) or die("Error: " . mysql_error());
}
echo $update;
?>
Und genau bei 'where `ùsername` = '$user'; da hakt es.
Denn er holt sich den $user nicht aus $_SESSION['username'] - kann er ja nicht, da die Session bei erneutem Aufrufen des Formulars (notwendig für das Update) wieder leer ist.
Also nochmal: Das Formular lädt sich 2mal selbst. Einmal zum überprüfen des Passwortes und zur Ausgabe der Datenbank-Daten( submit name="submit) und ein 2tes Mal zum Entgegennehmen des Update-Befehls (submit name="submit2).
Und bei zweiten Mal ist die Session leer