Профайлы пользователей.
Создадим страницу
profile.php
<?php
include('./classes/DB.php');
include('./classes/Login.php');
$username = '';
if (isset($_GET['username'])) {
if (DB::query('SELECT username
FROM users WHERE username=:username',
array(':username'=>$_GET['username']))) {
$username =
DB::query('SELECT username FROM users WHERE username=:username',
array(':username'=>$_GET['username']))[0]['username'];
} else {
die('User not found!');
}
}
?>
<h1><?php echo $username;
?>'s' Profile</h1>
Теперь зайдем на
страницу http://newsocial.loc/profile.php?username=Vasya
чтобы увидеть профиль
пользователя.
Создадим таблицу в
БД followers
id int(11)
unsigned primary AI
user_id int(11)
unsigned
follower_id
int(11) unsigned
Теперь создадим
фолловеров в profile.php
<?php
include('./classes/DB.php');
include('./classes/Login.php');
$username =
'';
if
(isset($_GET['username'])) {
if
(DB::query('SELECT username FROM users WHERE username=:username',
array(':username'=>$_GET['username']))) {
$username = DB::query('SELECT username FROM users WHERE
username=:username',
array(':username'=>$_GET['username']))[0]['username'];
//
проверяем была ли нажата форма
if
(isset($_POST['follow'])) {
$userid = DB::query('SELECT id FROM users WHERE username=:username',
array('username'=>$_GET['username']))[0]['id'];
$followerid = Login::isLoggedin(); // id фолловера
if
(!DB::query('SELECT follower_id FROM followers WHERE
user_id=:userid', array(':userid'=>$userid))) {
DB::query('INSERT INTO followers VALUES (:id, :userid,
:followerid)', array(':id'=>null,':userid'=>$userid,
':followerid'=>$followerid));
//DB::query('INSERT INTO followers VALUES (\'\', :userid,
:followerid)', array(':userid'=>$userid,
':followerid'=>$followerid));
}
else {
echo 'Already following!';
}
}
} else {
die('User not found!');
}
}
?>
<h1><?php
echo $username; ?>'s' Profile</h1>
<form
action="profile.php?username=<?php echo $username; ?>"
method="post">
<input
type="submit" name="follow" value="Follow"/>
</form>
Залогинимся
под другим именем и нажмем кнопу
следовать.
Комментариев нет:
Отправить комментарий