Unfollow кнопка.
Зайдем
в профиль пользователя
http://newsocial.loc/profile.php?username=Vasya
Откроем
profile.php
<?php
   
include('./classes/DB.php');
   
include('./classes/Login.php');
   
$username = '';    
   
$isFollowing = False;
   
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'];
     
      $userid = DB::query('SELECT id FROM users WHERE
username=:username', array('username'=>$_GET['username']))[0]['id'];
     
      $followerid = Login::isLoggedin(); // получаем id
фолловера                
     
      // проверяем была ли нажата кнопка
follow
     
      if (isset($_POST['follow'])) { 
     
          // когда не можешь быть фолловером
самого себя
     
          if ($userid != $followerid) {
     
              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!';
     
              }
     
              $isFollowing = True;
     
          }
     
      }
     
      // проверяем была ли нажата кнопка
unfollow
     
      if (isset($_POST['unfollow'])) { 
     
          // когда не можешь быть фолловером
самого себя
     
          if ($userid != $followerid) {
     
              if (DB::query('SELECT follower_id FROM followers WHERE
user_id=:userid', array(':userid'=>$userid))) {
     
                  DB::query('DELETE FROM followers WHERE
user_id=:userid AND follower_id=:followerid',
array(':userid'=>$userid, ':followerid'=>$followerid));        
         
     
              }
     
              $isFollowing = False;
     
          }
     
      }
     
      if (DB::query('SELECT follower_id FROM followers WHERE
user_id=:userid', array(':userid'=>$userid))) {                
     
          $isFollowing = True;
     
      }
     
  } else {
     
      die('User not found!');
     
  }
    }
?>
<h1><?php
echo $username; ?>'s' Profile</h1>
<form
action="profile.php?username=<?php echo $username; ?>"
method="post">
   
<?php
   
// кнопка follow не будет отображаться для
своего собственного профайла
   
if ($userid != $followerid) {
     
  if ($isFollowing) {
     
      echo '<input type="submit" name="unfollow"
value="Unfollow"/>';
     
  } else {
     
      echo '<input type="submit" name="follow"
value="Follow"/>';
     
  }
    }
   
   
?>    
</form>
 
Комментариев нет:
Отправить комментарий