FC2ブログ

PHP+MySQL でユーザ情報表示

PHP+MySQL でユーザ情報表示

#16 ユーザー情報を表示しよう
http://dotinstall.com/lessons/sns_php_v2/9616
を参考に
ログインしているユーザ情報の表示をする

編集するファイルは index.php

まずは php部分の編集
セッションに me が入っているので
$me =$_SESSION['me'];
として $me に格納

次に、どのユーザでログインしているか表示するので
HTML部分に
Logged in as <?php echo h($me['name']); ?> (<?php echo h($me['email']); ?>)

としてDBから
ユーザ名とメールアドレスを取得して表示

また、ログアウト機能も作っておく
<a href="logout.php">log out</a>

ここまでが個人ユーザ情報の取得と表示

ユーザ一覧を取得して表示するには

PHP部分で
$dbh = connectDb();

$users = array();
$sql ="select * from users order by created desc";

foreach($dbh->query($sql) as $row){
array_push($users,$row);
}

これで、次にHTML部分にリスト表示するための準備

<h1>ユーザ一覧</h1>
の下に
<ul>
<?php foreach($users as $user) : ?>
<li></li>
<?php endforeach; ?>
<ul>
とする

次に
一覧を表示したいので
<li></li>
の間に
<php echo h($user['name']); ?>
とする

さらに各ユーザ情報を作成して
そこにリンクさせるなら
<a href="profile.php?id=<?php echo h($user['id']); ?>"><php echo h($user['name']); ?></a>
というようにする

これで、ユーザ一覧に名前がでればOK

そして、profile.php に関しては index.php に近いソースなので
cp index.php profile.php
でコピーして編集する

プロフィール情報なので、一覧のところのSQLを変える

$sql ="select * from users where id = :id limit 1";
として

編な値が入らないのように
(int )というように型を指定しておく
$stmt = $dbh->execute(array(":id"=>$_GET['id']));
とすれば、現在ログインしているユーザIDが取得できる

$user = $stmt->fetch();
としてSQLの実行結果を $user へ格納

そして
if(!$user){
echo "no such user !";
exit;
}
とすれば、ユーザが検出できないときには
エラーメッセージがでるようになる
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック