neuling am werk, problem mit werte in datenbank updaten

Hab wieder ein Problem :)

//Ich schreibe die UserID beim Login in $_SESSION['id'].

Ich glaube daran hengt es gerade bei mir:


PHP:
$result10 = mysql_query('SELECT id FROM quarkx.login WHERE id=id');


$_SESSION['id'] = mysql_result($result10,id);


Im moment gibt er immer den ersten Usernamen bzw alle Daten, wenn ich das nutze:

PHP:
$users=mysql_query("select * from login where id='".$_SESSION['id']."'"); 

$user=mysql_fetch_assoc($users); 


echo $user['id'];
echo $user['user'];
echo $user['password']; 
echo $user['email'];
echo $user['gold'];

Wie kann ich aber nur den auswählen der gerde eingelogt ist?
 
Gib mal $_SESSION['id'] aus und schau was da drin steht.
Natuerlich solltest Du das mit verschiedenen Usern testen, ansonsten ist ja klar, dass immer das gleiche drin steht. ;)
 
Wenn ich
PHP:
$_SESSION['id']

ausgebe steht dort der wert 2, der erste User hat die ID 2 in der DB.

Wenn ich mich mit einen anderen User einlogge den bekomm ich auch die ID 2.
Bei
PHP:
$_SESSION['id']
ausgabe.
 
Hmm, dann stimmt irgendwas mit dem Login wohl nicht.
Schau mal in den Code wo $_SESSION['id'] geschrieben wird.

Kannst den ja auch mal posten. 4 (oder mehr) Augen sehen ja bekanntlich mehr als 2, ausser im Dunklen.
 
Gut, den hier nochmals der ganze Code

PHP:
<?




if      ($anmelden) { anmelden($fertig, $user, $password1, $password2, $email);}
else if ($abmelden) { abmelden($fertig, $user, $password);}
else if ($forgot)   { forgot($fertig, $email);}
else                { login($fertig, $user, $password);}



?>



<?
function inhalt($user) 
{
session_start();
session_register("user");





##############################################
// WIRD NACH DEM LOGIN ANGEZEITG




include("config.php");


$result10 = mysql_query('SELECT id FROM quarkx.login WHERE user=user');


$_SESSION['id'] = mysql_result($result10,id);




$users=mysql_query("select * from login where id='".$_SESSION['id']."'"); 

$user=mysql_fetch_assoc($users); 


echo $user['id'];
echo $user['user'];
echo $user['password']; 
echo $user['email'];
echo $user['gold'];
echo $_SESSION['id'];


$extragold=1;

$user['gold']=$user['gold']+$extragold;


//UPDATE 
$sql=mysql_query("UPDATE login set gold='$user[gold]' where id='$user[id]'");



##########################################

}
?>



<?
function login($fertig, $user, $password)
{

include("config.php");

if ($fertig) 
{

$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);

if ($reihen <= 0) 
{
echo "Unbekannter Benutzername!";
}
else 
{
while ($row = mysql_fetch_object ($abfrage))
{
if ($row->password==$password)
{
inhalt($user);
}
else 
{
echo "Falsches Passwort!";
}
}
}

}

else {
echo "<a href=\"$PHP_SELF?anmelden=yes\"><img src=anmelden.jpg border=0></a>";
echo "<p><h2></h2></p>";

	echo "<form method=\"POST\" action=\"$PHP_SELF?fertig=yes\">";
	?>
	<table cellspacing="1" cellpadding="2" border="0">
    <tr>
    <td><font size="2"><img src=benutzername.jpg></font></td>
    <td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
    <td><font size="2"><img src=passwort.jpg></font></td>
    <td><font size="2"><input type="password" name="password" value=""></font></td>
  </tr>
  <tr>
    <td colspan=2 align=center><input type=submit value=Login></td>
  </tr>
</table>
</form>
<? 
echo "<p><a href=\"$PHP_SELF?forgot=yes\">Passwort vergessen?</a><br><a href=\"$PHP_SELF?abmelden=yes\">Abmelden</a></p>";
}

}
?>







<?
function anmelden ($fertig, $user, $password1, $password2, $email)
{
include("config.php");

if($fertig) {
 $abfrage1 = mysql_query("SELECT user FROM login");
 while ($row = mysql_fetch_object ($abfrage1)) {
	if	($row->user==$user) {
	echo "Dieser Benutzer existiert schon!";
	exit;
	}
	}
	if ($user=="" OR $password1=="" OR $password2=="" or $email=="") {
	echo "Sie haben mindestens ein Feld nicht ausgefüllt!";
	}
	else if ($password1!=$password2) {
	echo "Ihr Passwort ist ungleich Ihrer Wiederholung!";
	}
	else {	
	$anfuegen=mysql_query("INSERT INTO login (user, password, email) VALUES ('$user','$password1', '$email')");	
	echo "Erfolgreich angemeldet! Sie können sich nun einloggen:<br>";
	@login();	
	}
}
else {
	echo "<h2>Anmelden</h2>";
	echo "<form method=\"POST\" action=\"$PHP_SELF?anmelden=yes&fertig=yes\">";
	?>
	<table cellspacing="1" cellpadding="2" border="0">
    <tr>
    <td><font size="2">Benutzername:</font></td>
    <td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
    <td><font size="2">Passwort:</font></td>
    <td><font size="2"><input type="password" name="password1" value=""></font></td>
  </tr>
  <tr>
    <td><font size="2">Wiederholen:</font></td>
    <td><font size="2"><input type="password" name="password2" value=""></font></td>
  </tr>
  <tr>
    <td><font size="2">E-Mail:</font></td>
    <td><font size="2"><input type="text" name="email" value="">&nbsp;</font></td>
  </tr>
  <tr>
    <td colspan=2 align=center><input type=submit value=Anmelden></td>
  </tr>
</table>
</form>
<? 
}

}
?>



<?
function forgot ($fertig, $email)
{

include("config.php");

if ($fertig) {
$abfrage=mysql_query("SELECT * FROM login");
while ($row = mysql_fetch_object ($abfrage)) {
if ($email==$row->email) { $ismail="true"; } 
}
if ($ismail=="true") {
$password=mysql_query("SELECT * FROM login WHERE email = '$email'");
while ($row = mysql_fetch_object ($password)) {
$nachricht="Hallo $row->user!\n\nIhr Passwort ist:\n\n$row->password\n\nMfG\nAdmin";
}
mail($email, "Passwort", $nachricht, "From: Administrator");
?>
<p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br>
Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p>

<?

@login();
}
else { echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";}
}
else {

echo "<p><h2>Passwort vergessen</h2><p>";
echo "<p><form method=post action=\"$PHP_SELF?forgot=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
<tr><td><font size="2">E-Mail Adresse:</font></td><td align=center><input type=text name=email></td></tr>
<tr><td colspan="2" align=center><input type=submit value="Schicken!"></td></tr>
</table></form></p>
<?
}
}
?>



<?
function abmelden($fertig, $user, $password)
{

include ("config.php");

if($fertig) {
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {
echo "Unbekannter Benutzername!";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
$delete = mysql_query ("DELETE FROM login WHERE user = '$user'");
echo "Ihre Daten wurden erfolgreich aus der Datenbank entfernt!";
}
else {
echo "Falsches Passwort!";
}
}
}

}
else {
	 echo "<p><h2>Abmelden</h2></p>"; 
	echo "<form method=\"POST\" action=\"$PHP_SELF?abmelden=yes&fertig=yes\">";
	?>
	<table cellspacing="1" cellpadding="2" border="0">
    <tr>
    <td><font size="2">Benutzername:</font></td>
    <td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
    <td><font size="2">Passwort:</font></td>
    <td><font size="2"><input type="password" name="password" value=""></font></td>
  </tr>
  <tr>
    <td colspan=2 align=center><input type=submit value=Abmelden></td>
  </tr>
</table>
</form>
<?
}

}
?>


Und hier die config.php

PHP:
<?


mysql_connect("localhost","root",""); // Adresse zur MySQL Datenbank, Benutzername und Passwort
mysql_select_db("QUARKX"); // Datenbank-Name
?>








PS: Ich hänge nicht an den Login vielleicht kannst mir ein Link oder ähnliches geben damit ich mit etwas neuem ohne probleme starten kann?
 
Zuletzt bearbeitet:
PHP:
session_register("user");
sorgt dafuer, dass $_SESSION['user'] existieren sollte.
Dementsprechend wird $_SESSION['id'] wohl nicht geben.

Ausserdem sollte man, laut PHP-Doku, nicht session_register() sondern direkt in $_SESSION schreiben. Aber das nur mal nebenbei.
 
Zurück