PHP ile basit üyelik sistemi yapımı
Reklam

PHP ile Basit Üyelik Sistemi Yapımı

PHP ile basit üyelik sistemi yapımı hususunda gereken tüm detaylar burada. PHP ile üyelik sistemi yapmak, PHP ile kullanıcı girişi yapmak ve PHP ile üye kayıt etmek isteyen yazılımcılar için ihtiyaç duyacakları kodlar aşağıda aşama aşama anlatılacaktır. Aşamaları sırası ile doğru bir şekilde takip ettiğiniz de üyelik sistemi sorunsuz olarak çalışacaktır.

  1. Veritabanı Oluşturma ve Bağlantı Kurma
  2. PHP ile basit üyelik sistemi için öncelikli yapılacak işlem veritabanı oluşturmak ve veritabanı bağlantısını kurmaktır. Bunun için PhpMyAdmin sayfasına girerek “uyelik” adında bir veritabanı oluşturalım.

    Veritabanı bağlantısını oluşturmak için v_baglanti.php adında dosya oluşturalım kodlamasını aşağıdaki şekilde yapalım.

    Reklam
    <?php
    $db = @new mysqli("localhost", "root", "veritabanı_sifresi", "uyelik");
    if ($db->connect_errno) {
        die('Bağlantı hatası:' . $db->connect_error);
    }
    $db->set_charset('utf8');
    ?>
    

    index.php adında bir dosya oluşturalım ve içerisine v_baglanti.php isimli veritabanı bağlantısını sağlayan dosyamızı dosya içerisine çağıralım. Bunun içinde aşağıdaki kodu index.php dosyasının içerisine ekleyin ve index.php sayfasını ziyaret edin. Herhangi bir hata mesajı almamışsanız veritabanı bağlantısı başarı ile gerçekleşmiş demektir.

    <?php include 'v_baglanti.php'; ?>
    
  3. Veritabanı Üzerinde Tablo Oluşturma
  4. Veritabanı üzerinde “uye” isimli bir tablo oluşturuyoruz. Tablo içerisine “uye_id”, “ad”, “mail” ve “sifre” alanları için 4 adet sütun ekliyoruz. Kullanıcı bilgileri bu sütunların içerisinde bulunacaktır.

    Veritabanı Tablo Oluşturma – PHP üyelik sistemi

PHP ile Üye Kaydı Yapmak

PHP ile basit üyelik sistemi yapımı aşamalarından biri olan PHP ile veritabanı tablosuna üye kaydı eklemek için uye-kayit.php isminde bir adet dosya oluşturuyoruz ve dosya içeriğini aşağıda olduğu gibi kodluyoruz.

<? require 'v_baglanti.php'; ?>

<?php
if(isset($_POST['kayit'])){
  $isim = $_POST['ad'];
  $posta = $_POST['mail'];
  $sifre = $_POST['sifre'];
  $sifredogrula = $_POST['ikincisifre'];

if(empty($isim) || empty($posta) || empty($sifre) || empty($sifredogrula)){
  header("Location: uye-kayit.php?hata=girislerbos");
  exit();
}
else if(!filter_var($posta, FILTER_VALIDATE_EMAIL)){
  header("Location: uye-kayit.php?hata=mailhatali");
  exit();
}
else if($sifre !== $sifredogrula){
  header("Location: uye-kayit.php?hata=sifrelereslesmedi");
  exit();

}else{
  $stmt = $db->prepare("INSERT INTO uye (ad, mail, sifre) VALUES (?,?,?)");
  if($stmt === false) die("Bağlantı Hatası:".$db->error);
  $kriptosifre = password_hash($sifre, PASSWORD_DEFAULT);
  $stmt->bind_param("sss", $isim, $posta, $kriptosifre);
  $stmt->execute();
  header("Location: uye-kayit.php?kayit=basarli");
  exit();
  $stmt->close();
  $db->close();

}
}
 ?>

<?php
if(isset($_GET['kayit'])){
  if($_GET['kayit'] == "basarli"){
  echo "KAyıt Başarıyla Eklendi";
}
}
 ?>

<form action="" method="post">
<input type="text" name="ad">
<input type="text" name="mail">
<input type="password" name="sifre">
<input type="password" name="ikincisifre">
<input type="submit" value="Kullanıcı ekle" name="kayit">
</form>

PHP ile Üye Girişi Yapma

PHP ile üye kayıt işlemi tamamlandıktan sonra sıra üye girişinin yapılabilmesi için sırası ile giris.php ve giris-yap.php isimli iki adet dosya oluşturuyoruz. Bunların içeriği aşağıdaki gibi doldurulacaktır.

giris-yap.php

<?php
include ('v_baglanti.php');
?>
<form action="giris.php" method="post">
  <p>Mail Adresi</p>
<input type="text" name="mail">
<p>Şifre</p>
<input type="password" name="sifre">
<input type="submit" name="giris" value="giriş yap">
</form>

giris.php

<?php
include ('v_baglanti.php');
?>

<?
if(isset($_POST['giris'])){
$posta = $_POST['mail'];
$sifre = $_POST['sifre'];

if(empty($posta) || empty($sifre)){
  header("Location: giris-yap.php?hata=girdilerbos");
  exit();
}else{

$stmt = $db->prepare("SELECT * FROM uye WHERE mail=?");
if($stmt === false) die("Bağlantı Hatası:".$db->error);
$stmt->bind_param("s", $posta);
$stmt->execute();
$sonuc = $stmt->get_result();
if($veri = $sonuc->fetch_assoc()){
$sifrekontrol = password_verify($sifre, $veri['sifre']);
if($sifrekontrol == false){
  header("Location: giris-yap.php?hata=sifrehatali");
  exit();
}
else if($sifrekontrol == true){
  session_start();
  $_SESSION['mail'] = $veri['mail'];
  $_SESSION['ad'] = $veri['ad'];
  header("Location: index.php");
  exit();
}

}else{
  header("Location: giris-yap.php");
  exit();
}
}
}else{
  header("Location: index.php?hata=uyeyok");
  exit();
}



?>

PHP ile Üye Çıkış İşlemi Yapma

Üye oturumu sonlandırma yani üyenin çıkış işlemi için cikis.php isimli bir adet dosya oluşturuyoruz ve içerisini aşağıda olduğu şekilde kodluyoruz. Oturum açmış olan kullanıcıyı bir bağlantı ile cikis.php dosyasına yönlendirerek kullanıcının çıkış işlemini gerçekleştirmesini sağlamış olacağız.

<?php
session_start();
session_unset();
session_destroy();
header("Location: index.php");
?>

index.php sayfasının kodlanması

Kullanıcının oturum açıp açmadığını kontrol etmek için index.php sayfasının kodlamasını aşağıdaki gibi yapıyoruz. Eğer kullanıcı oturum açmış ise göreceği ekran farklı olacak, oturum açmamış ise göreceği ekran farklı olacaktır.

<?php
session_start();
include ('v_baglanti.php');
?>
<?php
if(isset($_SESSION['mail'])){
  echo "Hoş geldin ".$_SESSION['mail'];
  echo "<br><a href='cikis.php'>Çıkış Yap</a>";
}else {
  echo "<a href='giris-yap.php'>Giriş Yap</a>";
}
 ?>

PHP ile basit üyelik sistemi yapımı bu şekildedir. Ana hatları ile üyelik sistemini anlatmış olduk. Görselleştirmek ve daha da detaylandırmak artık sizin elinizde. Bir başka yazıda PHP ile üye yetkilendirme konusunu anlatıyor olacağız. Görüşmek üzere…

Reklam

8 YORUMLAR

  1. Bilgisayarınıza server kurulumu yaptığınız esnada root ve veritabanı şifresi tanımlayabilirsiniz. Xampp gibi server kurulumlarında veritabanı kullanıcı adı root, şifre ise boştur. AppServ gibi server kurulumlarında ise root ve şifre tanımlaması yapabilirsiniz.

  2. merhaba uye bilgilerini veri tabanına değilde txt dosyasına kaydeden bir sistem yapabilrimiyiz birde ben denedimde şifreyi yanlıs yazssakda dogru yazsakta aktarım yapıyor anlamadım

  3. Her şeyi uyguladım tek bir sorun var o da üye kaydı yapıyorum ancak veri tabanına eklemiyor haliyle girişte yapılmıyor neden olabilir acaba(kayıt eklendi diyor hata vermiyor)

  4. Veri tabanında tabloları doğru bir şekilde oluşturduysanız sorunsuz çalışması gerekir. Defalarca farklı yerlerde bu kod yapısı kullanıldı.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

This site uses Akismet to reduce spam. Learn how your comment data is processed.