понедельник, 25 сентября 2017 г.

Соцсеть. Профайлы пользователей и кнопка Follow. Урок 10.

Профайлы пользователей.


Создадим страницу 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>

Залогинимся под другим именем и нажмем кнопу следовать.


Комментариев нет:

Отправить комментарий

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html