Login with pinterest


pinterest Login API allows the user to sign into the website using their pinterest account without sign up on that website. Here we can give an option to the user to register/ login to our system with their pinterest.

The process is like this:

If the user click on "Login with pinterest" button then it will ask pinterest user name and password. If the user is using the system first time then it will fill up the registration form and display first name, last name, email fields. There will be no password field as the user is register / connect through pinterest. Once the user click on submit, our system will save the data in the server with the reference number or User id sent by pinterest. Next time when the user come and click on "Login with pinterest" our system will check the reference number/ user id in our database, if it matches then it will sent the user directly to My Account page.

Please note in this process we will not save password in the database. You can follow the same steps for login with other social media login/ registration system.

You can download the attached file and get the basic html form and other files used in this project.

You need to generate Pinterest App Client Id and Client Secret.

Creating a Pinterest App

Craete Login/ Registration system Step1:

Save the App Client ID and Client Secret and Redirect URL.

<?php
define('PINTEREST_APPLICATION_ID','**************');
define('PINTEREST_APPLICATION_SECRET','**************');
define('PINTEREST_REDIRECT_URI','**************');
?>


Now Add the following code to "Sign in with pinterest" button.

<a href="<?php echo $login_url ?>">Login with pinterest</a>

If the user enters the correct info then pinterest page will redirect back to or login page with required information's.

if(isset($_GET['code'])){
try {
  $pinterest_ob = new PinterestApi();
  // Get the access token 
  $access_token = $pinterest_ob->GetAccessToken(PINTEREST_APPLICATION_ID,PINTEREST_REDIRECT_URI,PINTEREST_APPLICATION_SECRET, $_GET['code']);
  // Get user information
  $user_info = $pinterest_ob->GetUserProfileInfo($access_token);
  // Echo user information for display
  $passcode	= $user_info['id'];
  $fname	= $user_info['first_name'];
  $lname  	= $user_info['last_name'];
  $profilepic	= $user_info['image']['60x60']['url'];
  $loginwith	= "Pinterest";
/*Check if the user connected before */
  $sql = db_query("select * from register_pinterest where passcode='".$passcode."'");
  $numrow = mysqli_num_rows($sql);
  if($numrow > 0){
    $_SESSION['passcode']  = $passcode;
    header('Location:myaccount.php');
    exit();
  }
  $btnstatus = "";
  }
catch(Exception $e) {
  header('Location:index.php?error');
  echo $e->getMessage();
  exit;
}
}

If the user registered before then our system will redirect the user to my account page otherwise it will ask the user to register for the first time.

/*Check if the user connected before */
$sql = db_query("select * from register_pinterest where passcode='".$passcode."'");
$numrow = mysqli_num_rows($sql);
if($numrow > 0){
	$_SESSION['email']	= $email;
	$_SESSION['passcode']	= $passcode;
	header('Location:myaccount.php');
	exit();
}

The MySql table used in this project
CREATE TABLE IF NOT EXISTS `register_pinterest` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(50) DEFAULT NULL,
  `lastname` varchar(50) DEFAULT NULL,
  `email` varchar(60) DEFAULT NULL,
  `gender` varchar(10) DEFAULT NULL,
  `passcode` varchar(100) DEFAULT NULL,
  `profilepic` varchar(250) DEFAULT NULL,
  `loginwith` varchar(10) DEFAULT NULL,
  `status` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
 

Other Login/ Registration Systems

Login/ Register With Facebook
Login/ Register With Twitter
Login/ Register With Linked In
Login/ Register With Gmail
Login/ Register With Yahoo!
Login/ Register With Instagram
Login/ Register With Hotmail
Login/ Register With Email

Top