1- PhpMyAdmin yardımı ile bir database oluştur.
2- Bağlantıyı tamamlayabilmek için "ayar.php" vb. gibi bir php dosyası oluştur ve;
PHP:
<?php
$db = @new mysqli("localhost", "root", "databasesifresi", "databaseadi");
if ($db->connect_errno) {
die('Bağlantı yok:' . $db->connect_error);
}
$db->set_charset('utf8');
?>
3- Daha sonra "index.php" içerisine ayar.php dosyasını davet et.
PHP:
<?php include 'ayar.php'; ?>
4- Database içerisinde tablo oluşturma adımına geçmen gerekli daha sonra. Tabloyu oluştururken de örnek olarak 4 sütun eklenebilir. Bu sütunlara en yatkın random örnek "uye_id" "ad" "mail" "sifre" şeklinde olabilir. Bu örnek üzerinden yürüyeceğiz.
5- Daha sonra, database tablosuna kayıtları çekmek için ayrıca bir dosya / sayfa oluşturmalısın. "uye-kayit.php" Ve içini şu şekilde doldurmalı / kodlamalısın.
PHP:
<? require 'ayar.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>
6- Kayıt işlemi tamamlandıktan sonra giriş seçeneği için ise, giris.php ve giris-yap.php oluşturmalısın.
"yap" olanın içeriği;
PHP:
<?php
include ('ayar.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>
Direkt "giris" olanın içeriği ise;
PHP:
<?php
include ('ayar.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();
}
?>
Bu şekilde, gerekirse bunun içinden ayıkla & test et yöntemiyle kendin oluşturabilirsin ya da direk kullanabilirsin. Kafana takılanlar için PM atabilirsin. Olabildiğince canlı yardımda da bulunmaya çalışırım.