Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Login Tutorial Usernamen auslesen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Login Tutorial Usernamen auslesen


 
alia
13-02-2006, 00:04 
 
Erstmal vielen Dank für das Tutorial "Login mit Hilfe von PHP und mySQL".

Funktioniert soweit alles wunderbar, nur jetzt möchte ich das Script erweitern und stehe vor folgender Frage:


Wie kann ich den angemeldeten Nutzernamen auslesen? :dontknow:


Ich wär ja schon glücklich, wenn das Script mir bei der logged_in.php statt "Sie sind eingeloggt.", "Sie sind eingeloggt als Admin." ausspucken würde.


Wäre super, wenn mir jemand da nen kleinen Tipp geben könnte! :)

 
zagibu
14-02-2006, 20:34 
 
Am Besten schreibst du eine neue Funktion auf Basis der logged_in() Funktion. Statt der UserID fragst du einfach den UserNamen aus der Datenbank ab, und gibst diesen zurück.
Al Gerüst sollte dir dies reichen:

function checkUser()
{
$sql = 'Wie in logged_in(), nur statt UserID den Usernamen abfragen';
$result = mysql_query($sql) or die(mysql_error());
$name = 'Usernamen aus dem Abfrageresultat herausholen, z.B. mit mysql_fetch_row()';
return $name;
}

Hoffe mal, das funktioniert so...bin selbst n' Noob. Wenn du mehr Hilfe brauchst, wirst du dich schon wieder melden ;).

 
Pep
25-03-2006, 16:43 
 
Hi,

fall es noch jemand interessiert. Ich habe das so gelöst:

$sessionid = session_id();
$result = mysql_query("Select * from users where UserSession = '$sessionid'") or die(mysql_error());
if ($result)
{
$row= mysql_fetch_array($result);
$name=$row["UserName"]; //$name wurde der Username zugewissen
mysql_free_result($result);
}
echo "<p>Hallo <strong>$name</strong><br>bist eingelogt</p>";
echo '<p><a href="index.php?id=logout">Ausloggen</a></p>';

 
wilkax
27-03-2006, 20:49 
 
Noch einfacher gehts, indem du die sessionhelpers-Datei um diese Funktion erweiterst:

function get_userid()
{
$sql="SELECT id
FROM tab_user
WHERE sessionid='".session_id()."' LIMIT 1";
$result= mysql_query($sql);
$user= mysql_fetch_assoc($result);
return $user['id'];
}

Dann kannst du, einen include 'sessionhelpers.inc.php'; vorausgesetzt, mithilfe von

$meineid=get_userid();

die User ID des eingeloggten Users abfragen. Dann kann man aus jeder PHP-Datei, die vom eingeloggten User aufgerufen wird, die User ID abfragen...

Analog dazu kann man beim jeweiligen User z.B. ein Admin-Flag im Datensatz setzen (also z.B. 0 bei Normalanwender, 1 bei Admin) , die sessionhelpers.inc.php um diese Prozedur erweitern

function get_userstatus()
{
$sql="SELECT status
FROM tab_user
WHERE sessionid='".session_id()."' LIMIT 1";
$result= mysql_query($sql);
$status= mysql_fetch_assoc($result);
return $user['status'];
}

und dann über

$userstatus=get_userstatus();
if($userstatus=0)
{
echo "Ich bin kein Admin";
}
else
{
echo "Ich bin ein Admin!";
}

das entsprechende ausgeben...

 
M4rc3l
31-03-2006, 14:05 
 
um welche Spalte muss ich denn dann noch die DB erweitern????

UNd wie kann man sich da jetzt regiestrieren???

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:22 Uhr.