私はソーシャルネットワークを作成しています。プロファイルページと、プロファイルページに移動するニュースフィードタイプのページを作成しました。
別のスクリプトで入力したデータに応じて、独自の基本的なプロファイルレイアウトを簡単に作成しようとしています。セッション変数($ _SESSION ['id'])があり、これを取得して、それに基づいてユーザーをページに移動し、MySQLテーブルのIDと一致する結果をロードしようとしています。ただし、IDに依存するデータは機能していないようです。以下は、主要なスクリプトからの抜粋です。
プロファイルへのナビゲーションメニュー
<?
function fetch_new_users()
{
$result = mysql_query("SELECT `id`, `username` FROM `users` WHERE username='{$_SESSION['user_login']}'");
$mysql = mysql_fetch_assoc($result);
return $mysql;
}
$users = fetch_new_users();
?>
<?
if (isset($_SESSION["user_login"])) {
echo '
<div class="fnav">
<?php foreach($users as $user): ?>
<p>
<a href="profile.php?id=<?php echo $user[\'id\']; ?>" >Profile</a>
</p>
<?php endforeach; ?>
</div><!-- end fnav -->
ログイン時のセッション変数の作成
if(isset($_POST["user_login"]) && isset($_POST["password_login"]))
{
$user_login = preg_replace('#[^A-Za-z0-9]#i', '', $_POST["user_login"]); // filter everything but numbers and letters
$password_login = preg_replace('#[^A-Za-z0-9]#i', '', $_POST["password_login"]); // filter everything but numbers and letters
$md5password_login = md5($password_login);
$sql = mysql_query("SELECT id FROM users WHERE username='$user_login' AND password='$md5password_login' LIMIT 1"); // query the person
//Check for their existance
$userCount = mysql_num_rows($sql); //Count the number of rows returned
if($userCount == 1)
{
while($row = mysql_fetch_array($sql))
{
$id = $row["id"];
}
$_SESSION["id"] = $id;
$_SESSION["user_login"] = $user_login;
$_SESSION["password_login"] = $password_login;
exit("<meta http-equiv=\"refresh\" content=\"0\">");
}
else
{
echo 'That information is incorrect, try again';
exit();
}
MySQLテーブルからのデータの実際の取得
$id1 = $_GET['id'];
//check user exists
$check = mysql_query("SELECT * FROM `users` WHERE id='$id1'");
$get = mysql_fetch_assoc($check);
$username = $get['username'];
$firstname = $get['first_name'];