Please enable JavaScript!
Bitte aktiviere JavaScript!
S'il vous plaît activer JavaScript!
Por favor,activa el JavaScript!
antiblock.org

 |  |  | 
Anda ingin membuat website?
Untuk Anda yang sedang mencari orang untuk jasa pembuatan website, Saya akan bantu buatkan aplikasi sesuai kebutuhan Anda. Segera hubungi : mail@rizaldimaulidia.com. Selengkapnya tentang profil saya klik www.rizaldimaulidia.com.

PHP Tips and Trick

Cara Membuat Form Login melalui Google dengan PHP dan MySQL

img-responsive

Pasti semuanya sudah pernah melihat Aplikasi baik itu Aplikasi berbasis website atau mobile, Hampir rata-rata ada fitur Login melalui Google dengan Akun Google (Google Account). Karena itu untuk kemudahan akses masuk ke aplikasi yang kita buat, tentunya fitur login dengan akun Google ini akan sangat efektif untuk memudahkan pengguna masuk / login ke aplikasi kita tanpa harus daftar dulu. Maka dari itu kita bahas cara bikinnya, ikuti langkah-langkahnya berikut ini.

Sebelum kita masuk ke tahap cara membuatnya, ada baiknya kita pahami dulu alur kerja sistem login menggunakan google yang akan kita buat, berikut gambaran alurnya :

Alur - Cara Membuat Form Login melalui Google dengan PHP dan MySQL

Alurnya seperti gambar diatas, dimulai dari form login di aplikasi kita, user mengklik tombol Login dengan Google. Kemudian masuk ke halaman form login dari google. Setelah itu data email dan password akan di validasi oleh google, jika valid, maka google akan mengirim Token untuk akses data profil dari akun google tersebut. Data tersebut kita olah dan kita lakukan pengecekan apakah user dengan email tersebut sudah terdaftar atau tidak, jika sudah terdaftar maka lanjutkan ke tahap buat session login. Tapi jika tidak terdaftar maka lakukan perintah insert data ke tabel user untuk mendaftarkan email tersebut. Terakhir setelah membuat session login, maka di arahkan ke halaman setelah login.

Akun User
Saya telah menyiapkan 1 data user (untuk login biasa) untuk tutorial ini, diantaranya :

Username : siska
Password : siska123


DEMO
Sebelum masuk ke tutorialnya. Mungkin ada yang mau lihat demonya terlebih dahulu. Silahkan klik link berikut untuk melihat demonya : Lihat Demo.


STEP 1 – PERSIAPAN
Ikuti terlebih dahulu tutorial “Cara Mudah Membuat Form Login dengan Session PHP” karena tutorial ini melanjutkan tutorial tersebut.



STEP 2 – GOOGLE API
Pada langkah ini, kita akan membuat Projek baru dulu di Google API untuk mendapatka Client ID dan Client Secret untuk akses Google API nya. Berikut ini langkah-langkahnya :

  1. Buka Google APIs : https://console.developers.google.com.
  2. Klik Icon Dropdown pada menu atas.
    Setup Google API Step 1 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  3. Lalu akan muncul Popup. Klik tombol NEW PROJECT.
    Setup Google API Step 2 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  4. Akan muncul Form New Project, Silahkan isikan Project Name sesuai nama projek yang akan Anda buat. Lalu klik tombol CREATE.
    Setup Google API Step 3 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  5. Anda akan dibawa kembali ke halaman awal, klik icon Dropdown kembali pada menu atas.
    Setup Google API Step 4 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  6. Akan muncul Popup, klik nama projek yang barusan Anda buat.
    Setup Google API Step 5 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  7. Setelah itu, klik menu OAuth consent screen pada menu kiri.
    Setup Google API Step 6 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  8. Akan muncul Form OAuth Consent Screen, silahkan pilih External, lalu klik tombol CREATE.
    Setup Google API Step 7 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  9. Kemudian akan ada form baru, silahkan isi Application Name dan Application Logo. Lalu klik tombol SAVE yang ada di paling bawah form.
    Setup Google API Step 8 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  10. Klik Menu Library.
    Setup Google API Step 9 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  11. Pada input pencarian, ketik “Google+”.
    Setup Google API Step 10 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  12. Pilih Google+ API.
    Setup Google API Step 11 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  13. Klik tombol “ENABLE”.
    Setup Google API Step 12 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  14. Klik Tombol Menu diatas kiri.
    Setup Google API Step 13 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  15. Pada Menu APIs & Services, Pilih Menu Credentials.
    Setup Google API Step 14 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  16. Pada Menu Credentials, Klik tombol “Create credentials”. Lalu pilih “OAuth client ID”.
    Setup Google API Step 15 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  17. Isi inputan pada form tersebut sesuai gambar dibawah ini :
    Setup Google API Step 16 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  18. Setelah diisi, klik tombol “Create”.
  19. Akan muncul sebuah Popup OAuth Client, yang isinya adalah Client ID dan Client Secret yang kita butuhkan untuk menggunakan Google API ini.
    Setup Google API Step 17 - Cara Membuat Form Login melalui Google dengan PHP dan MySQL
  20. Jika Popup OAuth Client diatas sudah terlanjur di tutup, untuk melihat kembali Client ID dan Client Secret, silahkan klik tombol dengan Ikon Pencil pada Projek yang tadi Anda buat. Setelah diklik akan muncul halaman seperti dibawah dan Client ID dan Client Secret anda bisa dilihat seperti yang saya beri kotak merah pada gambar dibawah ini :
    Google API Form Edit - Cara Membuat Form Login melalui Google dengan PHP dan MySQL

STEP 3 – LIBRARY
Sekarang kita akan mempersiapkan librari yang akan kita gunakan.

  1. Download Librari Google Client, klik link berikut : Download.
  2. Download Bootstrap, Klik link berikut : Download.
    Bootstrap ini hanya sebagai tambahan agar form login yang akan kita buat lebih bagus desainnya.
  3. Download Librari Font Awesome, klik link berikut : Download.
    Font Awesome ini hanya sebagai tambahan agar kita bisa menggunakan icon social media dari Font Awesome.
  4. Buat folder dengan nama libraries dan simpan pada folder xampp/htdocs/login_php/.
  5. Buat folder dengan nama css, lalu simpan pada folder xampp/htdocs/login_php/.
  6. Ekstrak file google-client.7z yang telah didownload tadi, kemudian copy & paste folder google-client ke folder xampp/htdocs/login_php/libraries/.
  7. Ekstrak file bootstrap.7z yang telah didownload tadi.
  8. Copy and paste folder fonts dari folder bootstrap yang telah diekstrak tadi ke folder xampp/htdocs/login_php/.
  9. Copy and paste file bootstrap.min.css dari folder bootstrap/css/ yang telah diekstrak tadi ke folder xampp/htdocs/login_php/css/.
  10. Ekstrak file fontawesome-4.7z yang telah didownload tadi, kemudian copy & paste folder font-awesome hasil ekstrak tadi ke folder xampp/htdocs/login_php/libraries/.


STEP 4 – FORM LOGIN
Selanjutnya kita akan masuk ke tahap pembaharuan form loginnya, karena tutorial ini melanjutkan tutorial saya sebelumnya (seperti yang saya bilang pada STEP 1). Silahkan buka file index.php yang sudah dibuat pada tutorial sebelumnya, lalu ubah menjadi seperti ini :

Form Login - Cara Membuat Form Login melalui Google dengan PHP dan MySQL

<?php
session_start(); // Start session nya

// Kita cek apakah user sudah login atau belum
// Cek nya dengan cara cek apakah terdapat session username atau tidak
if(isset($_SESSION['username'])){ // Jika session username ada berarti dia sudah login
  header('location: welcome.php'); // Kita Redirect ke halaman welcome.php
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Login via Google Account</title>

    <!-- Load File CSS Bootstrap  -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="libraries/font-awesome/css/font-awesome.min.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->

    <style>
    body {
        padding-top: 40px;
        padding-bottom: 40px;
        background-color: #eee;
    }

    .form-signin {
        max-width: 330px;
        padding: 15px;
        margin: 0 auto;
    }
    .form-signin .form-signin-heading{
        margin-bottom: 10px;
    }
    .form-signin .form-control {
        position: relative;
        height: auto;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px;
        font-size: 16px;
    }
    .form-signin .form-control:focus {
        z-index: 2;
    }
    </style>
</head>
<body>
  <div class="container">
        <div class="form-signin">
            <div class="panel panel-default">
        <div class="panel-body">
          <h2 class="form-signin-heading" style="margin-top: 0;">Silahkan login</h2>

          <?php
          // Cek apakah terdapat cookie dengan nama message
          if(isset($_COOKIE["message"])){ // Jika ada
            ?>
            <div class="alert alert-danger">
              <?php
              // Tampilkan pesannya
              echo $_COOKIE["message"];
              ?>
            </div>
            <?php
          }
          ?>

          <form method="post" action="login.php">
            <div class="form-group">
                  <label>Username</label>
                  <input type="text" class="form-control" name="username" placeholder="Username" required autofocus>
              </div>
              <div class="form-group">
                  <label>Password</label>
                  <input type="password" class="form-control" name="password" placeholder="Password" required>
              </div>
              <button type="submit" class="btn btn-lg btn-success btn-block">LOGIN</button>
            <div class="text-center" style="margin-top: 10px;margin-bottom: 10px;">
              atau login dengan
            </div>
            <div class="text-center">
              <a href="google.php" class="btn btn-danger"><i class="fa fa-google"></i> &nbsp;GOOGLE</a>
            </div>
          </form>
        </div>
      </div>
        </div>
    </div>
</body>
</html>

STEP 5 – GOOGLE CONFIG
Pada tahap ini kita akan membuat 1 file php baru yang berfungsi sebagai konfigurasi librari Google Client nya. Silahkan buat 1 file dengan nama gpconfig.php, lalu simpan pada folder xampp/htdocs/login_php/. Berikut ini kodenya :

<?php
session_start();

// Include Librari Google Client (API)
include_once 'libraries/google-client/Google_Client.php';
include_once 'libraries/google-client/contrib/Google_Oauth2Service.php';

$client_id = 'isi_dengan_client_id'; // Google client ID
$client_secret = 'isi_dengan_client_secret'; // Google Client Secret
$redirect_url = 'http://localhost/login_php/google.php'; // Callback URL

// Call Google API
$gclient = new Google_Client();
$gclient->setApplicationName('Google Login'); // Set dengan Nama Aplikasi Kalian
$gclient->setClientId($client_id); // Set dengan Client ID
$gclient->setClientSecret($client_secret); // Set dengan Client Secret
$gclient->setRedirectUri($redirect_url); // Set URL untuk Redirect setelah berhasil login

$google_oauthv2 = new Google_Oauth2Service($gclient);
?>

Mungkin tidak akan saya jelaskan lagi karena sebagian sudah saya jelaskan pada masing-masing kode diatas.
Sebelum lanjut ke tahap selanjutnya, silahkan isi dulu Client ID dan Client Secret nya.

$client_id = ‘isi_dengan_client_secret‘;
Copy Client ID yang di dapat pada STEP 2 Nomor 13 dan Paste didalam kutip 1 variabel $client_id. Kurang lebih jadi seperti ini : $client_id = ‘paste_client_id_nya_disiini‘;.

$client_secret = ‘isi_dengan_client_secret‘;
Copy Client Secret yang di dapat pada STEP 2 Nomor 13 dan Paste didalam kutip 1 variabel $client_secret. Kurang lebih jadi seperti ini : $client_secret = ‘paste_client_secret_nya_disiini‘;.

$redirect_url
Variabel ini diisi sesuai dengan yang kita isi pada Authorized Redirect URLs yang kita set pada Google API nya (Pada STEP 2 Nomor 9).


STEP 6 – GOOGLE LOGIN
Tahap selanjutnya kita akan membuat 1 file php baru yang berfungsi untuk melakukan proses login melalui Google. Silahkan buat 1 file dengan nama google.php, lalu simpan pada folder xampp/htdocs/login_php/. Berikut ini kodenya :

<?php
// Include file gpconfig
include_once 'gpconfig.php';

if(isset($_GET['code'])){
  $gclient->authenticate($_GET['code']);
  $_SESSION['token'] = $gclient->getAccessToken();
  header('Location: ' . filter_var($redirect_url, FILTER_SANITIZE_URL));
}

if (isset($_SESSION['token'])) {
  $gclient->setAccessToken($_SESSION['token']);
}

if ($gclient->getAccessToken()) {
  include 'koneksi.php';

  // Get user profile data from google
  $gpuserprofile = $google_oauthv2->userinfo->get();

  $nama = $gpuserprofile['given_name']." ".$gpuserprofile['family_name']; // Ambil nama dari Akun Google
  $email = $gpuserprofile['email']; // Ambil email Akun Google nya

  // Buat query untuk mengecek apakah data user dengan email tersebut sudah ada atau belum
  // Jika ada, ambil id, username, dan nama dari user tersebut
  $sql = $pdo->prepare("SELECT id, username, nama FROM user WHERE email=:a");
  $sql->bindParam(':a', $email);
  $sql->execute(); // Eksekusi querynya

  $user = $sql->fetch(); // Ambil datanya dari hasil query tadi

  if(empty($user)){ // Jika User dengan email tersebut belum ada
    // Ambil username dari kata sebelum simbol @ pada email
    $ex = explode('@', $email); // Pisahkan berdasarkan "@"
    $username = $ex[0]; // Ambil kata pertama

    // Lakukan insert data user baru tanpa password
    $sql = $pdo->prepare("INSERT INTO user(username, nama, email) VALUES(:username,:nama,:email)");
    $sql->bindParam(':username', $username);
    $sql->bindParam(':nama', $nama);
    $sql->bindParam(':email', $email);
    $sql->execute(); // Eksekusi query insert

    $id = $pdo->lastInsertId(); // Ambil id user yang baru saja di insert
  }else{
    $id = $user['id']; // Ambil id pada tabel user
    $username = $user['username']; // Ambil username pada tabel user
    $nama = $user['nama']; // Ambil username pada tabel user
  }

  $_SESSION['id'] = $id;
  $_SESSION['username'] = $username;
  $_SESSION['nama'] = $nama;
    $_SESSION['email'] = $email;

    header("location: welcome.php");
} else {
  $authUrl = $gclient->createAuthUrl();
  header("location: ".$authUrl);
}
?>

Seperti yang saya jelaskan pada awal tutorial ini, alur proses login dengan google ini adalah hal pertama kita lakukan menampilkan form login dari google agar user bisa login ke akun google nya. Setelah itu kita akan lakukan pengecekan jika User berhasil login, maka kita lakukan pengecekan ke database kita tepatnya ke tabel user, cek apakah user dengan email (email akun google usernya) tersebut sudah ada atau belum di tabel usernya, kalau sudah ada, maka redirect ke halaman welcome, kalau belum ada, maka lakukan insert data user tersebut.

$ex = explode(‘@’, $email); // Pisahkan berdasarkan “@”
$username = $ex[0];
Kode diatas berfungsi untuk mengambil kata sebelum tanda @ pada email user. Pada tutorial ini untuk user baru kita set username nya adalah kata sebelum tanda @ pada email yang dia gunakan. Misalnya saya login dengan email rizaldimaulidia95@gmail.com, maka username yang akan ke insert di databasenya adalah rizaldimaulidia95.


STEP 7 – LOGIN
Disini kita akan uabh sedikit file login.php yang telah kita buat pada tutorial sebelumnya, silahkan buka file login.php, lalu cari kode $_SESSION[‘nama’] = $data[‘nama’];, tambah kode berikut ini setelah kode tersebut :

$_SESSION[’email’] = $data[’email’]; // Set session untuk email (simpan email di session)

Kurang lebih jadi seperti ini lengkapnya :

<?php
session_start(); // Start session nya

include "koneksi.php"; // Load file koneksi.php

$username = $_POST['username']; // Ambil value username yang dikirim dari form
$password = $_POST['password']; // Ambil value password yang dikirim dari form
$password = md5($password); // Kita enkripsi (encrypt) password tadi dengan md5

// Buat query untuk mengecek apakah ada data user dengan username dan password yang dikirim dari form
$sql = $pdo->prepare("SELECT * FROM user WHERE username=:a AND password=:b");
$sql->bindParam(':a', $username);
$sql->bindParam(':b', $password);
$sql->execute(); // Eksekusi querynya

$data = $sql->fetch(); // Ambil datanya dari hasil query tadi

// Cek apakah variabel $data ada datanya atau tidak
if( ! empty($data)){ // Jika tidak sama dengan empty (kosong)
  $_SESSION['username'] = $data['username']; // Set session untuk username (simpan username di session)
  $_SESSION['nama'] = $data['nama']; // Set session untuk nama (simpan nama di session)
  $_SESSION['email'] = $data['email']; // Set session untuk email (simpan email di session)

  setcookie("message","delete",time()-1); // Kita delete cookie message

  header("location: welcome.php"); // Kita redirect ke halaman welcome.php
}else{ // Jika $data nya kosong
  // Buat sebuah cookie untuk menampung data pesan kesalahan
  setcookie("message", "Maaf, Username atau Password salah", time()+3600);

  header("location: index.php"); // Redirect kembali ke halaman index.php
}
?>

STEP 8 – WELCOME
Kita ubah sedikit tampilan halaman welcome nya (setelah login). Buka file welcome.php, lalu ubah jadi seperti dibawah ini :

Welcome Page - Cara Membuat Form Login melalui Google dengan PHP dan MySQL

<?php
session_start(); // Start session nya

// Kita cek apakah user sudah login atau belum
// Cek nya dengan cara cek apakah terdapat session username atau tidak
if( ! isset($_SESSION['username'])){ // Jika tidak ada session username berarti dia belum login
  header("location: index.php"); // Kita Redirect ke halaman index.php karena belum login
}
?>

<html>
<head>
  <title>Halaman Setelah Login</title>
</head>
<body>
  <h1>Selamat datang <?php echo $_SESSION['nama']; ?></h1>
  <h4>Anda berhasil login ke dalam aplikasi. Berikut data diri Anda yang tersimpan pada database kami :</h4>

  <table style="margin-bottom: 15px;">
    <tr>
      <td>Username</td>
      <td>:</td>
      <td><?php echo $_SESSION['username'] ?></td>
    </tr>
    <tr>
      <td>Nama</td>
      <td>:</td>
      <td><?php echo $_SESSION['nama'] ?></td>
    </tr>
    <tr>
      <td>Email</td>
      <td>:</td>
      <td><?php echo $_SESSION['email'] ?></td>
    </tr>
  </table>

  <a href="logout.php">Logout</a>
</body>
</html>

STEP 9 – LOGOUT
Terakhir kita akan membuat 1 file php baru yang berfungsi untuk melakukan proses logout. Silahkan buat 1 file dengan nama logout.php, lalu simpan pada folder xampp/htdocs/login_php/. Berikut ini kodenya :

<?php
session_start(); // Start session nya
session_destroy(); // Hapus semua session

header("location: index.php"); // Redirect ke halaman index.php
?>

Sekian untuk tutorial kali ini. Jika ada hal yang ingin ditanyakan, langsung tanyakan saja lewat kolom komentar dibawah ini. Jangan lupa LIKE dan SHARE nya hehe, Terimakasih.

Happy Coding ^_^


SOURCE CODE
Untuk mengunduh source code nya, klik salah satu link dibawah ini
– Download versi PDO : Link download yang sesuai tutorial ini yakni menggunakan fungsi PDO untuk query ke databasenya
– Download versi MySQLi : Link download untuk Anda yang ingin source code versi MySQLi dari tutorial ini

Cara mudah membuat form login melalui google dengan php dan mysql, tutorial lengkap membuat form login melalui google dengan php dan mysql, tutorial step by step membuat form login melalui google dengan php dan mysql

Login

(Total : 21,586 viewers, 4 viewers today)
form-login-google-php-mysql

ABOUT THE AUTHOR

Interested in android programming, long time focused on web development. Visit My Profile Site at www.rizaldimaulidia.com

POST YOUR COMMENTS TO Rizaldi Maulidia Achmad (Cancel)

Your email address will not be published. Required fields are marked *

Name *

Email *

Website

67 Comments

  1. sofian77

    kenapa gini ya bang?

    This page isn’t workingolk.com is currently unable to handle this request.
    HTTP ERROR 500

  2. Cepi Sastrakancana

    mas, tutorialnya keren banget. makasih.
    saya coba di localhost lancar jaya oke banget

    tapi pas saya coba upload online,
    pas ngelogin memang keluar halaman login google nya
    tapi pas di-submit terjadi error

    di halaman nya terdapat pesan error:
    This page isn’t working right now
    google.kriyadata.com can’t currently handle this request.
    HTTP ERROR 500

    pas dilihat di hostingnya log errornya tertulis:
    [05-Dec-2021 10:43:20 UTC] PHP Warning: curl_exec() has been disabled for security reasons in /home/anngxpzl/google.kriyadata.com/google-client/io/Google_CurlIO.php on line 112
    [05-Dec-2021 10:43:20 UTC] PHP Fatal error: Uncaught Google_AuthException: Error fetching OAuth2 access token, message: ” in /home/anngxpzl/google.kriyadata.com/google-client/auth/Google_OAuth2.php:112
    Stack trace:
    #0 /home/anngxpzl/google.kriyadata.com/google-client/Google_Client.php(131): Google_OAuth2->authenticate(Array, ‘4/0AX4XfWgyOXL-…’)
    #1 /home/anngxpzl/google.kriyadata.com/google.php(8): Google_Client->authenticate(‘4/0AX4XfWgyOXL-…’)
    #2 {main}
    thrown in /home/anngxpzl/google.kriyadata.com/google-client/auth/Google_OAuth2.php on line 112

    itu pake PHP 7.0 (ea-php70)

    mohon pencerahannya
    terima kasih

    • sama-sama om. dari keterangan errornya sih fungsi curl_exec() di php nya di disable sama hostingnya, coba kontak cs hostingnya apakah bisa di enable untuk fungsi tersebut atau tidak

      • Cepi Sastrakancana

        ga bisa mas uy..

        Jika di lihat keterangan eror terebut, aplikasi anda membutuhkan function curl_exec() ,
        Pada layanan sharedhosting function tersebut kami disable dengan alasan security,

        unction curl_exec() ga boleh diaktifkan ya? he
        iyaa bapak, untuk mengaktifkan function tersebut minimal di paket vps

        ato mungkin ada alternatif function curl_exec() yang boleh diexecute ?
        karena script anda membutuhkan function curl_exec(), maka mohon maaf tidak ada alternatif lain pak selain upgrade ke paket vps

        malah disuruh upgrade paket

        kira2 ada alternative lain ga untuk pengganti function curl_exec() nya ?

  3. Andretvndy

    Mas izin bertanya, kok setelah saya klik logo google nya pada menu login muncul nya seperti ini ya?

    Error 401: invalid_client
    The OAuth client was not found.

    • Dari errornya karena credential untuk auth api googlenya tidak ditemukan. pastikan sudah mengikuti step 2 dengan benar.
      Mohon maaf sekali karena slow response.

  4. muhammadfath

    keren bang tutorialnya, makasih banyak ya.

  5. dadang_iska

    gan untk logoutnya gimana?
    logout dari google-nya sy masih gagal.
    tolong dibahas pula dong

    • Oh iya mohon maaf, ternyata saya lupa memasukan step terakhir yg bahas proses logout. Silahkan dicek kembali tutorialnya, sudah saya tambahkan untuk proses logoutnya di STEP 9.

      • dadang_iska

        wah kalo logout cuman segituma udah pada tahu. yang saya maksud adalah logout dari google nya bro. jadi ada logout dari sisi server ada juga logout dari sisi google nya. jadi saat kembali ke halaman yang ada tombol google nya sudah dalam keadaan logout dari google.

  6. AryaNugr

    Gan tolong bantuannya dong, ini dibagian mananya yang salah yah? terimakasih

    Fatal error: Uncaught exception ‘Google_IOException’ with message ‘HTTP Error: (0) error setting certificate verify locations: CAfile: C:\xampp\apache\bin\curl-ca-bundle.crt CApath: none’ in C:\xampp\htdocs\login_google\libraries\google-client\io\Google_CurlIO.php:128 Stack trace: #0 C:\xampp\htdocs\login_google\libraries\google-client\auth\Google_OAuth2.php(101): Google_CurlIO->makeRequest(Object(Google_HttpRequest)) #1 C:\xampp\htdocs\login_google\libraries\google-client\Google_Client.php(131): Google_OAuth2->authenticate(Array, ‘4/0AX4XfWgSJYJp…’) #2 C:\xampp\htdocs\login_google\google.php(6): Google_Client->authenticate(‘4/0AX4XfWgSJYJp…’) #3 {main} thrown in C:\xampp\htdocs\login_google\libraries\google-client\io\Google_CurlIO.php on line 128

      • valenwalim

        om ini pake php versi berapa yah?
        saya pake versi 5.6.3
        error spt ini om
        Fatal error: Uncaught exception ‘Google_IOException’ with message ‘HTTP Error: (0) SSL certificate problem: unable to get local issuer certificate’ in C:\xampp\htdocs\login_google_php\libraries\google-client\io\Google_CurlIO.php:128 Stack trace: #0 C:\xampp\htdocs\login_google_php\libraries\google-client\auth\Google_OAuth2.php(101): Google_CurlIO->makeRequest(Object(Google_HttpRequest)) #1 C:\xampp\htdocs\login_google_php\libraries\google-client\Google_Client.php(131): Google_OAuth2->authenticate(Array, ‘4/0AX4XfWhfSM_-…’) #2 C:\xampp\htdocs\login_google_php\google.php(6): Google_Client->authenticate(‘4/0AX4XfWhfSM_-…’) #3 {main} thrown in C:\xampp\htdocs\login_google_php\libraries\google-client\io\Google_CurlIO.php on line 128

  7. tekat0604

    gan mau tanya kalau kita mau mengambil foto profil dari akun googlenya kodenya gimana ya?
    thanks

    • saya belum pernah coba om kalau ambil foto profil
      Mohon maaf baru bisa balas, kemarin-kemarin saya lagi sakit.

  8. fariz123

    maaf kak ini reply blognya error jadi gabisa reply

    ga keluar apa- apa setelah saya tulis
    echo $_SESSION[‘id’];
    die;

    masih gabisa ke direct ke halaman welcome

  9. fariz123

    permisi kak, ada masalah saya sudah masuk halaman login google tapi kok pas udah di pilih emailnya malah balik ke index ya ?

    • coba pada file google.php, sebelum skrip berikut :
      header("location: welcome.php");

      tambahkan skrip ini :
      echo $_SESSION['id'];
      die;

      lalu coba login lagi, dan copas disini apa yang keluar dibrowser.

  10. Iskandar Sholeh

    mau tana om, ini saya sudah ikuti step ketika melakukan registrasi itu di balikin ke index lagi om, nggak masuk ke halaman welcomenya

  11. adearta11

    om mau tanya aku kok keluar error begini ya?

    Fatal error: Array and string offset access syntax with curly braces is no longer supported in C:\xampp\htdocs\sistem-ade\archieve\login_google_php_mysqli\libraries\google-client\service\Google_Utils.php on line 58

    apa ga support di veri php terbaru?

    • Iya karena versi php om, tapi sudah saya perbaiki. coba didownload ulang om library google-client nya (STEP 3 No. 1). sudah saya tes di php 8.

  12. jernasmenas

    Bang mau nanya bagaimana email hosting saya bisa login di gmail

    • untuk apa om? untuk akses email hosting bisa gunakan aplikasi Mailspring (desktop), atau gmail (android / ios). nanti setup nya pilih setup manual

  13. Jiboy1404

    Malam om mau tanya jika disini kan saya membuat website e-commerce, disini ane pengen buat form login menggunakan gmail dan form login biasa, nah ane mau nanya om kalo kita login pake google kok kita gak bisa dapet id_pelanggan yang ada di database ya? apa kita harus buat pake token gmail atau bagimana ya?. Tolong pencerahnnya om
    Terima Kasih

    • ya di google kan ga ada data id_pelanggan yang ada di aplikasi om, caranya ya seperti ditutorial ini, jadi kita bikin query untuk dapetin id_pelanggan berdasarkan email google nya.

  14. Rifky Aan

    bro kan udah berhasil masuk halaman masuk menggunakan account google, tapi pas milih akunnya error gini

    Warning: Undefined variable $pdo in C:\xampp\htdocs\google.php on line 26

    Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\google.php:26 Stack trace: #0 {main} thrown in C:\xampp\htdocs\google.php on line 26

      • Rifky Aan

        oiyaa bang udh beres thanks, tapi next malah error gini wkwkw sori bang

        Fatal error: Uncaught Error: Call to a member function bindParam() on bool in C:\xampp\htdocs\google.php:27 Stack trace: #0 {main} thrown in C:\xampp\htdocs\google.php on line 27

        • bentar saya tanya dulu, ini om koneksi ke mysql nya pakai PDO ngikutin tutorial ini atau pakai MySQLi?

          • kalau pakai mysqli, silahkan om download source code versi mysqli, link nya ada pada bagian SOURCE CODE pada tutorial ini. coba samakan dengan yang ada di source code tersebut. untuk penjelasannya dan langkah-langkahnya om bisa baca tutorial ini. karena skrip nya sama saja secara logic nya, hanya beda di skrip pas koneksi ke mysql nya.

          • Rifky Aan

            wahh oke bang thanks banget ilmunya 🙏🙏

  15. Jean Paul

    gan pas udh gue coba tombol ke google.php , error gini:

    Fatal error: Array and string offset access syntax with curly braces is no longer supported in C:\xampp\htdocs\libraries\google-client\service\Google_Utils.php on line 58

    itu gimana ya gan? thanks

    • Coba buka file Google_Utils.php nya, cari di line 58, ada skrip berikut :
      $ordinalValue = ord($str{$ret});

      ubah menjadi :
      $ordinalValue = ord($str[$ret]);

      • citra sukma

        mas kalo misal’e aku error gini gimana yah

        kodenya kaya gini:
        Warning: Undefined variable $connect in C:\xampp\htdocs\google.php on line 26

        Fatal error: Uncaught TypeError: mysqli_query(): Argument #1 ($mysql) must be of type mysqli, null given in C:\xampp\htdocs\google.php:26 Stack trace: #0 C:\xampp\htdocs\google.php(26): mysqli_query(NULL, ‘SELECT id, firs…’) #1 {main} thrown in C:\xampp\htdocs\google.php on line 26

        aku salahnya dimana ya?? makasih mas

      • Jean Paul

        oke work gan, tapi problem pas milih akun google ada eror lagi –>

        Warning: Undefined variable $connect in C:\xampp\htdocs\google.php on line 26

        Fatal error: Uncaught TypeError: mysqli_query(): Argument #1 ($mysql) must be of type mysqli, null given in C:\xampp\htdocs\google.php:26 Stack trace: #0 C:\xampp\htdocs\google.php(26): mysqli_query(NULL, ‘SELECT id, user…’) #1 {main} thrown in C:\xampp\htdocs\google.php on line 26

          • Jean Paul Denata

            udah diinclude gan, file google.php juga gaada yang gua ubah

          • Jean Paul Denata

            ohh okeoke gan solved, problem di koneksi.php , file punya gw ternyata make variabel $db bukan $connect , thanks yoo udah work

  16. mas2 biasa

    Gan saya kan udah bisa ya pakai localhost, dapet sessionnya + masuk database. Tapi giliran diaplikasikan pakai domain + hosting, dia gak mau masuk ke database gan cuma dapet sessionnya doang. Tau gak kenapa? Terima kasih sebelumnya

    • biasanya di hosting semua error php akan di hide. buat cari tau penyebabnya apa, tambahkan skrip berikut di awal skrip proses loginnya :
      ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);

      skrip itu berguna untuk menampilkan semua error php kalau memanga ada error terjadi

  17. anonymous

    Keren gan punya saya udah mau jadi. Cuma database yg versi mysqli kok gabisa diimpor ke phpmyadmin ya? tulisannya galat eror

  18. danihehe

    Ini semua free kah? Atau jangan2 ada yg berbayar dari penyedianya

  19. Nash

    Setting google console butuh verifikasi tidak?

  20. fiaaaaaaaan

    nice, akhirnya menemukan source code yang berjalan tanpa error.
    saran saya buat tutorial yang lebih sederhana lagi tanpa database sehingga dapat langsung mengerti to the point

    • senang bisa membantu 😀
      Siap om mungkin dilain kesempatan akan saya coba buat, terimakasih sarannya

  21. Prozoila

    kalau diterapkan ke multi level user bisa gak mas ?

  22. Rusman Wahab

    Mantap kang tutorial nya panjang, pake firebase mungkin bisa lebih singkat

    • panjang karena saya jelasin sedetail mungkin cara setting Google Console nya om, untuk coding nya sendiri cuman sedikit hehe

NOTE ARCHIVES