obtenir les données de l'Utilisateur qui s'est connecté

obtenir les données de l'Utilisateur qui s'est connecté

j'ai donc cette base de données avec ce code. ce codes permettra à un utilisateur de se connecter à une page avec de la session.

FORMULAIRE de CONNEXION(login.php)

<?php
require("common.php"); 
$submitted_username = '';
if(!empty($_POST))
{
$query = "
SELECT
id,
username,
password,
salt,
email
FROM users
WHERE
username = :username
";
$query_params = array(
':username' => $_POST['username']
);
try
{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$login_ok = false;
$row = $stmt->fetch();
if($row)
{
$check_password = hash('sha256', $_POST['password'] . $row['salt']);
for($round = 0; $round < 65536; $round++)
{
$check_password = hash('sha256', $check_password . $row['salt']);
}
if($check_password === $row['password'])
{
$login_ok = true;
}
}
if($login_ok)
{
unset($row['salt']);
unset($row['password']);
$_SESSION['user'] = $row;
header("Location: private.php");
die("Redirecting to: private.php");
}
else
{
print("Login Failed.");
$submitted_username = htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');
}
}
?>
<h1>Login</h1>
<form action="login.php" method="post">
Username:<br />
<input type="text" name="username" value="<?php echo $submitted_username; ?>" />
<br /><br />
Password:<br />
<input type="password" name="password" value="" />
<br /><br />
<input type="submit" value="Login" />
</form>
<a href="register.php">Register</a>  

Session(common.php)

<?php
//These variables define the connection information for your MySQL database
$username = "root";
$password = "";
$host = "localhost";
$dbname = "phplogin";
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
try
{
$db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options);
}
catch(PDOException $ex)
{
die("Failed to connect to the database: " . $ex->getMessage());
}
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc())
{
function undo_magic_quotes_gpc(&$array)
{
foreach($array as &$value)
{
if(is_array($value))
{
undo_magic_quotes_gpc($value);
}
else
{
$value = stripslashes($value);
}
}
}
undo_magic_quotes_gpc($_POST);
undo_magic_quotes_gpc($_GET);
undo_magic_quotes_gpc($_COOKIE);
}
header('Content-Type: text/html; charset=utf-8');
session_start();
?>  

Page d'affichage(private.php)

<?php
require("common.php");
if(empty($_SESSION['user']))
{
header("Location: login.php");
die("Redirecting to login.php");
}
?>
<?php
$query = "
SELECT
id,
username,
email,
task,
task_name
FROM users
";
try
{
$stmt = $db->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
?>
<h1>Memberlist</h1>
<table border='1'>
<tr>
<th>User</th>
<th>E-Mail Address</th>
<th>Task Name</th>
<th>Task Description</th>
</tr>
<?php foreach($rows as $row): ?>
<tr>
<td><?php echo htmlentities($row['username'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['email'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['task_name'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['task'], ENT_QUOTES, 'UTF-8'); ?></td>
</tr>
<?php endforeach; ?>
</table><br />  

ce que je voulais faire est d'afficher les données de l'utilisateur qui est actuellement de connexion. par exemple, c'est quand user1 enregistré dans tous les détails de son profil de gnl nom d'utilisateur, e-mail, à la tâche, et le nom de la tâche sera affichée, mais dans mon code, il va afficher tous les détails.

  • Voulez-vous afficher tous les utilisateurs qui sont connectés ou les détails de l'utilisateur qui s'est connecté maintenant ?
  • la personne qui est actuellement connecté/maintenant
InformationsquelleAutor Yinks | 2013-03-25