Durch name == password Details herausfinden

tobiakexo

Grünschnabel
Hi leute ;D...

Also folgendes... Ich habe eine Datenbank wo die Details drin stehen unter anderem auch Name und Password. Nun will ich über nen Login-Script herausfinden bzw. wiedergeben wie der User heisst und was er an details (über sich) angegeben hat.

Also ich habe ein Script geschirben (aus tutorials ;) ) und möchte nun dadurch die Details des Users wiedergeben...

Mit der checkuser.php überprüfe ich ob Name und PW übereinstimmen.
PHP:
<?php 
session_start (); // Starte eine Session. 

// ======== AUFBAU DER DATENBANKVERBINGUN ======== 
$connID = mysql_connect ("localhost", "root", ""); 
@mysql_select_db ("community", $connID); 

// Generiere und starte die Abfrage 
$sql = "SELECT * FROM cupanmeldung WHERE (name = '$name') AND (pw = '$pw')"; 
$result = mysql_query ($sql, $connID); 

if (mysql_num_rows ($result) > 0) { 
  // Ein Datensatz wurde gefunden. 
  $datenrichtig = true; 

  // Variable $user_eingeloggt erstellen. 
  $user_eingeloggt = true; 
} else { 
  // Die Benutzerdaten waren falsch. 
  $datenrichtig = false; 

  // Variable $user_eingeloggt erstellen. 
  $user_eingeloggt = false; 
} 

// Variable $user_eingeloggt in der Session registrieren. 
session_register ("user_eingeloggt"); 
?> 

<html> 
<head> 
  <?php if ($datenrichtig) { ?> 
  <meta http-equiv="Refresh" content="2; url=intern.php?<?=session_name()?>=<?=session_id()?>"> 
  <?php } ?> 
</head> 

<body> 
<?php 

if ($datenrichtig) { 
  echo "Vielen Dank für’s Einloggen. Sie werden weitergeleitet..."; 
} else { 
  echo "Die Daten waren falsch."; 
} 

?> 
</body> 
</html>

Falls die Daten übereinstimmen wird man zur intern.php weitergeleitet.
PHP:
<?
session_start (); // Session starten. 

if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt))  {
  // Code, wenn der Benutzer eingeloggt ist. 
  // z.B. Ausgabe der Webseite (echo „<html>...“)   
  
echo "Sie sind eingeloggt ?><br><?
} else { 
echo "Bitte melden Sie sich an";
}
?>
Wie kann ich in der intern.php alle Daten über die Person auslesen?
 
Du musst zunächst einmal in die Session die User-ID mit eintragen, also quasi den Primärschlüssel aus deiner Datenbank. Wenn du das hast, kannst du beliebige Daten aus deiner Datenbank über den User abrufen.

also erstmal beim anmelden folgendes hinzufügen anstelle von

session_register ("user_eingeloggt");

schreibst du:

$userid2 = mysql_fetch_object($sql);
$userid = $userid2->id;
$_SESSION["user_id"] = $userid;

damit hast du dann die userid gesetzt. das $user_eingeloggt brauchst du nicht, denn du brauchst ja nur überprüfen ob die userid größer als 0 ist. Wenn ja ist der Benutzer angemeldet. Zur sicherheit kannst du noch in der Datenbank eine Spalte user_online erstellen. Wenn sich der Benutzer nicht abmeldet kann dann dort die Datenbank das nach einer bestimmten Zeit selbst tun.

Zum abrufen der Daten dann einfach folgendes:

session_start();
$userid = $_SESSION["user_id"];

if($userid > 0)
{
$abfragen = mysql_query("SELECT * FROM xxx WHERE id = $userid);

...
}

dann hast du alles
 
Zuletzt bearbeitet:
Zurück