php login lastlogin hinzufügen

speedy00

Well-known member
28 April 2006
548
24
morgen ;)
Ich möchte zu meinem Login ein lastlogin hinzufügen, nach dem erfolgreichen login soll in der DB das Datum gespeichert werden.
ich weiss jedoch nicht genau wie ich das richtig eintrage
PHP:
<?php 
// Session starten
session_start ();

// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("localhost", "xxxxx", "xxxxxxx"); 
if (!mysql_select_db xxxxxx", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
    "id, nickname, passwort, anmeldedatum, lastlogin, email, vorname, nachname ". 
  "FROM ". 
    "member ". 
  "WHERE ". 
    "(nickname like '".$_REQUEST["name"]."') AND ". 
    "(passwort = '".md5 ($_REQUEST["pwd"])."')"; 
$result = mysql_query ($sql); 
$update_lastlogin = 'UPDATE `member` SET `lastlogin` = '???????'';
mysql_query($update_lastlogin);
echo mysql_error();
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_vorname"] = $data["vorname"];
  $_SESSION["user_nachname"] = $data["nachname"]; 
  $_SESSION["user_email"] = $data["email"]; 
  $_SESSION["user_anmelde"] = $data["anmeldedatum"];
  $_SESSION["user_lastlogin"] = $data["lastlogin"];
  header ("Location: ../buja.php"); 
} 
else 
{ 
  header ("Location: einloggen.php?fehler=1"); 
} 
?>
Stimmt das 1. überhaupt so und wenn ja was muss ich bei den ???? eintragen?
 
wenn du ein Datumsfeld in der Datenbank hast, dann könntest du dir den Datums-String einfach mittels date() zusammenbauen (Achtung: Englisches Datumsformat).
 
PHP:
$update_lastlogin = 'UPDATE `member` SET `lastlogin` = NOW() WHERE member_id = '.$member_id.'';

Die Variable $member_id holst du dir aus dem vorangegangenen Statement noch raus bzw. das machst du ihn deinem Fall ja später und hast sie dann in $data['id'].
 
sorry mein Fehler nich member_id sondern user_id
Ich habs nun so, klappt aber nicht, die Spalte ist DATETIME
PHP:
$result = mysql_query ($sql); 
$update_lastlogin = 'UPDATE `user` SET `lastlogin` = NOW() WHERE user_id = '.$user_id.'';
echo mysql_error();
if (mysql_num_rows ($result) > 0) 
{
Dein letzter Login: 0000-00-00 00:00:00
 
is die so richtig?
PHP:
$update_lastlogin = 'UPDATE `user` SET `lastlogin` = NOW() WHERE id = '.$user_id.'';
mysql_query($update_lastlogin);
Dann kommt
Unknown column 'lastlogin' in 'field list' ist damit die Spalte in der DB gemeint? wenn ja, die ist vorhanden.
 
Wenn man es richtig macht klappt es auch. :ugly:

PHP:
$update_lastlogin = 'UPDATE `member` SET `lastlogin` = NOW() WHERE id = '.$user_id.'';
mysql_query($update_lastlogin);