Hi,
nach dem sich mein anderer Beitrag jetzt mehr oder weniger geklärt hat, sprich ich mach es einfach anders, hat sich mir ein neues Problem ergeben.
Zum einen ist es ein Problem das ich mich noch nicht so mit den Funktionen und Beschreibungen von PHP auskenne und bis her immer wieder ins Staunen
komme das dieses Gewirr an Daten echt Funktioniert!
Ich würde mir gerne die Zeit nehmen mich grad mit diesen intensiver zu beschäftigen aber diese hab ich im Moment leider nicht da meine Zeit schon gard noch
so für die Website lang die ich grade schreibe und für die ich das folgende Brauche.
Ich würde mich also über Hilfe und einige Erklärungen sehr freuen und hoffe das ichs versteh und bald mal Zeit hab mir PHP ganz genau ansehen zu können.
Zu meinem eigentlichem Problem:
Auf der Seite die ich gerade schreibe benötige ich einen Loginbereich der auch soweit schon Funktioniert. Der Login funktioniert via MySQL Datenbank. Auf der Seite mit dem Formular steht folgender Code:
<?
session_start();
include 'test/login/sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo '
<div style="padding: 10px; text-align: left; border: 2px solid #FF0000; width: 635px;">
<img src="gif/error.png" style=" vertical-align: middle;" /><b style="padding-left: 10px;">Die eingegebenen Anmeldetaden waren nicht korrekt!</b>
</div>
<br />
<br />
<br />
<br />
<br />
<br />';
}
if (!logged_in())
echo '<form method="post" action="login.php">
<p><label style="padding-left: 30%;">Benutzername:</label><input style="margin-left: 2%;" name="username" type="text"></p>
<p><label style="padding-left: 30%;">Passwort: </label><input style="margin-left: 6%;" name="userpass" type="password" id="userpass"></p><br />
<p align="center"><input name="login" type="submit" id="login" value="Einloggen"></p>
</form>';
else
echo '
<div style="padding: 10px; text-align: left; border: 2px solid #00FF00; width: 635px;">
<img src="gif/ok.png" style=" vertical-align: middle;" /><b style="padding-left: 10px;">Sie werden nun zum Loginbereich weitergeleitet!</b>
</div>
<br />
<br />
<br />
<br />
<br />
<br />
<center><meta http-equiv="refresh" content="4; URL=geheim.php"><img src="gif/load.gif" /></center>';
?>
Alles anzeigen
Und in der, von diesem Code benötigten Seite, steht folgendes:
<?
function connect()
{
$con= mysql_connect('localhost','benutzer','passwort') or die(mysql_error());
mysql_select_db('datenbank',$con) or die(mysql_error());
}
function check_user($name, $pass)
{
$sql="SELECT UserId
FROM users
WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['UserId'];
}
else
return false;
}
function login($userid)
{
$sql="UPDATE users
SET UserSession='".session_id()."'
WHERE UserId=".$userid;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT UserId
FROM users
WHERE UserSession='".session_id()."'
LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE users
SET UserSession=NULL
WHERE UserSession='".session_id()."'";
mysql_query($sql);
}
connect();
?>
Alles anzeigen
Ok, aber im Login möchte ich ein Formular einbauen in dem ein Benutzer z.B. seine E-Mail ändern kann... Ich hab mir das so vorgestellt das man ganz normal ein Formular auf der Seite baut mit dem man allgemein Daten in der Datenbank ändern kann. Doch statt alle Daten bearbeiten zu können wählt man durch die Variable $user in der Datenbank einen bestimmten Benutzer / Feld (z.B. E-Mail).
Aber wie genau soll das gehen und ich denke man braucht auch ein Cookie da ja sonst die andere Seite nicht weiß welcher Benutzer denn jetzt gemeint ist beim ändern.
Meine Frage wäre also ob mir evtl. jemand zeigen könnte wie man das Cookie setzt und in diesem diese Infos speicher damit sie auf der Seite zum bearbeiten ausgelesen werden können
und evtl.
ein passendes Formular mit dem es dann möglich ist das Cookie auszulesen um die Daten beim richtigen Benutzer zu ändern.
----------------------------------------------------------------------------------------------
Wirklich ein langer Beitrag und viel was ich verlange bzw. wissen möchte. Aber ich hoffe dennoch das mir hier jemand Helfen kann sei es auch nur mit einem Link zu einer Seite die so was in der Richtung erklärt.
Danke schon mal für alle Antworten und allein schon für die Mühe das hier zu lesen!
MfG, Eggerd