LogIn Script für User

ich bedanke mich erstmal für deine Hilfe!

jedeoch finde ich in diesem Link zum tutorial nichts über mein Problem. kannst du mir noch andere Seiten empfehlen
 
Hallo,
wie wärs hiermit? Ist zwar schon ein wenig veraltet, aber für Einsteiger wie dich sollte es genau das richtige sein.
Eventuell hilft dir auch das hier weiter.

mfg
forsterm
 
Zuletzt bearbeitet:
counteract hat gesagt.:
ich bedanke mich erstmal für deine Hilfe!

jedeoch finde ich in diesem Link zum tutorial nichts über mein Problem. kannst du mir noch andere Seiten empfehlen
Etwas "genau zu Deinem Problem" wirst Du sicher nur schwer finden. Dementsprechend solltest Du Dir das Tutorial durchlesen, oder besser: es durcharbeiten und das gelernte dann auf Deine Situation uebertragen. Wie gesagt, darin werden alle Themen angesprochen die zur Loesung Deines Problems noetig sind.
Und, wie gesagt, die Doku auf http://www.php.net ist wirklich hilfreich.
 
Danke für den Link aber den kenn ich auch schon! hast du vielleicht noch nen script beispiel für mein Problem? oder einen link wo man solche scripte findet?

MfG

counteract
 
Also,

ich werd mal mein Glück versuchen^^

Bei der "login.php" siehst du folgendes:
PHP:
...
if (mysql_num_rows ($result) > 0) 
{ 
  // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_nickname"] = $data["Nickname"]; 
  $_SESSION["user_nachname"] = $data["Nachname"]; 
  $_SESSION["user_vorname"] = $data["Vorname"]; 
} else {
...

So, das sind die Daten des jeweils eingeloggten Users.
Wenn du nun willst, das dieser User auf die Seite kommt, wo er zum Beispiel seine Daten ändern kann, machst du folgendes:

--> Du legst eine neue Datei an: z.b.: profil.php

Dann änderst du in der login.php folgendes ab:
PHP:
...
 header ("Location: profil.php"); 
} 
else 
{ 
  header ("Location: formular.php?fehler=1"); 
}



dann kommt profil.php
PHP:
<h2>Dein Profil</h2>

<p>

<?php
$Query = "SELECT * FROM benutzerdaten WHERE `Id`=".$_SESSION["user_id"]."";
//das bedeutet, er liest die daten von dem eingeloggten user aus.
//der wird durch die "user_id" ermittelt

echo "Dein Nickname: <b>".$_SESSIO["Nickname"]."</b>";

echo "<p />";

echo "Deine Vorname: <b>".$_SESSION["Vorname"]."</b>";
echo "<br />";
echo "Dein Nachname: <b>".$_SESSION["Nachname"]."</b>";

/* Du kannst natürlich auch ein Formular zum Update machen, halt mit <form>, <input>, <button> machen */
?>


Ich hoffe, ich hab dir weitergeholfen^^

David
 
David Flögel hat gesagt.:
PHP:
$Query = "SELECT * FROM benutzerdaten WHERE `Id`=".$_SESSION["user_id"]."";
//das bedeutet, er liest die daten von dem eingeloggten user aus.
//der wird durch die "user_id" ermittelt

Falsch. Da wird noch gar nichts gemacht. Du musst das dann schon noch an die DB schicken

PHP:
$sql = "SELECT * FROM `benutzerdaten` WHERE `Id`=".$_SESSION["user_id"]."";

$result = mysql_query($sql) or die(mysql_error());

$row = mysql_fetch_assoc($result))

     echo "Dein Nickname ist: ".$row['Nickname']."<br />";
     echo "Dein Vorname ist: ".$row['Vorname']."<br />";
     echo "Dein Nachname ist: ".$row['Nachname']."<br />";

    /* Oder gleich in Textfelder (Das wolltest du ja mal wissen)
     echo "Dein Nickname ist: <input type=\"text\" name=\"Nickname\" value=\"".$row['Nickname']."\" /><br />";
     echo "Dein Vorname ist: <input type=\"text\" name=\"Vorname\" value=\"".$row['Vorname']."\" /><br />";
     echo "Dein Nachname ist: <input type=\"text\" name=\"Nachname\" value=\"".$row['Nachname']."\" /><br />";
    */

Bei der zweiten Variante mit den Textfeldern, musst du nur noch ein Formular (<form method .....></form>) drum herum schreiben und einen passenden PHP Code schreiben, der dir nacher die geänderten Dinge wieder in die DB einträgt.
 
Zuletzt bearbeitet:
Hallo,
@David Flögel was bringt es eigentlich, wenn du
1. das MySQL Query nicht einmal ausführst und
2. die Daten doch aus der Session holst?
Wenn dann müsste die profil.php ungefähr so aussehen:
PHP:
<h2>Dein Profil</h2>
<?php
    $sql = 'SELECT * FROM benutzerdaten WHERE `Id`='.intval($_SESSION['user_id']);
    $query = mysql_query($sql) or die(mysql_error());
    
    if (mysql_num_rows($query) > 0){
        $ds = mysql_fetch_object($query);
?>
<table border="#000000" width="100%" style="border-collapse: collapse" bordercolor="#000000">
    <tr>
        <td align="right" width="146"><code><font face="Arial">Dein&nbsp;Nickname:&nbsp;&nbsp;</font></code></td>
        <td><?php echo $ds->Nickname; ?></td>
    </tr>
    <tr>
        <td align="right" width="146"><code><font face="Arial">Deine&nbsp;Vorname:&nbsp;&nbsp;</font></code></td>
        <td><?php echo $ds->Nachname; ?></td>
    </tr>
    <tr>
        <td align="right" width="146"><code><font face="Arial">Dein&nbsp;Nachname:&nbsp;&nbsp;</font></code></td>
        <td><?php echo $ds->Vorname; ?></td>
    </tr>
</table>
<?php
    } else {
        echo 'Zu dieser ID existiert kein Profil!';
        exit;
    }
?>

mfg
forsterm
 
Hallo David Flögel!

Ich bedanke mich bei dir Ich werde das morgen gleich mal ausprobieren! Könnte ich dich vielleicht in meinem icq adden? Falls ich mal wieder ne frage hab Wär echt toll!

MfG

counteract
 
@David: Warum speicherst Du denn so gut wie alles ueber den User in der Session? Es reicht doch die ID. Und wenn Du mal mehr brauchst kannst Du es ja aus der Datenbank holen.
Ich speicher in der Session die UserID und den UserLevel, weil diese beiden Werte ziemlich regelmaessig (der UserLevel in so gut wie jedem Script) benoetigt werden. Und falls ich dann mal z.B. den Usernamen brauche dann kann ich ihn mir auch fix aus der Datenbank holen.
 
Zurück