Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP - MySQL Girişi

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,439
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 6 Gün
Başarım Puanı
1,051
MmoLira
695,092
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

MySQL, PHP destekli web uygulamaları için arka uç veritabanı olarak popüler bir seçimdir. Bu bölümde, verilen kullanıcı adı ve parolayı doğrulayan bir PHP uygulaması için bir oturum açma sayfası geliştirmeyi öğreneceğiz.

Bu bölümde ele alınan örnekle denemeler yapmak için PHP ve MySQL yüklü bir web sunucunuz olmalıdır. İşletim sisteminiz için XAMPP biçiminde Apache, PHP ve MySQL'in (MariaDB) paketlenmiş ikili dosyaları kolayca yüklenebilir.

Örnek kodu çalıştırmadan önce mydb adında bir MySQL veritabanınız olmalı ve bu veritabanında admin adında bir tablo bulunmalıdır. Tabloyu oluşturmak ve bir test verisi eklemek için aşağıdaki SQL betiğini kullanabilirsiniz:

use mydb;

CREATE TABLE `admin` (
`username` varchar(10) NOT NULL,
`passcode` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO `admin` (`username`, `passcode`) VALUES
('guest', 'abc123'),
('manager', 'secret'),
('user', 'test');

ALTER TABLE `admin`
ADD PRIMARY KEY (`username`);
COMMIT;

PHP oturum açma uygulamasının ilk kısmı veritabanı bağlantı nesnesini kurmaktır. Bağlantı nesnesini elde etmek için myqli API'sini kullanırız. Aşağıdaki kodu "config.php" olarak kaydedin.

Config.php


PHP:
<?php
   define('DB_SERVER', 'localhost');
   define('DB_USERNAME', 'root');
   define('DB_PASSWORD', '');
   define('DB_DATABASE', 'mydb');
   $db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>

Bu PHP betiği, oturum açma betiğinin içinde çağrılır. Kullanıcıya kullanıcı adı ve parola girmesi için bir HTML formu sunar. Form gönderildiğinde, PHP, kullanıcı adı ve parolanın kullanıcı girdileriyle eşleştiği yönetici tablosundaki bir satırı almak için bir SELECT sorgusu çalıştırır.

$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);

$sql = "SELECT * FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";

$result = mysqli_query($db,$sql);
$row = mysqli_num_rows($result);

Satır sayısı bir ise, kullanıcı adı ve girilen parolanın eşleştiğini gösterir. Kullanıcı adı $_SESSION değişkenine kaydedilir ve tarayıcı welcome.php betiğine yönlendirilir.

Login.php

Aşağıdaki kodu "login.php" olarak kaydedin.

PHP:
<?php
   include("config.php");
   session_start();
   $error='';
   if($_SERVER["REQUEST_METHOD"] == "POST") {
 
      // username and password sent from form
      $myusername = mysqli_real_escape_string($db,$_POST['username']);
      $mypassword = mysqli_real_escape_string($db,$_POST['password']);

      $sql = "SELECT * FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";

      $result = mysqli_query($db,$sql);    
      $row = mysqli_num_rows($result);    
      $count = mysqli_num_rows($result);

      if($count == 1) {
     
         // session_register("myusername");
         $_SESSION['login_user'] = $myusername;
         header("location: welcome.php");
      } else {
         $error = "Your Login Name or Password is invalid";
      }
   }
?>
<html>
<head>
   <title>Login Page</title>
   <style type = "text/css">
      body {
         font-family:Arial, Helvetica, sans-serif;
         font-size:14px;
      }
      label {
         font-weight:bold;
         width:100px;
         font-size:14px;
      }
      .box {
         border:#666666 solid 1px;
      }
   </style>
</head>
<body bgcolor = "#FFFFFF">
   <div align = "center">
      <div style = "width:300px; border: solid 1px #333333; " align = "left">
         <div style = "background-color:#333333; color:#FFFFFF; padding:3px;"><b>Login</b></div>
         <div style = "margin:30px">
            <form action = "" method = "post">
               <label>UserName  :</label><input type = "text" name = "username" class = "box"/><br /><br />
               <label>Password  :</label><input type = "password" name = "password" class = "box" /><br/><br />
               <input type = "submit" value = " Submit "/><br />
            </form>
            <div style = "font-size:11px; color:#cc0000; margin-top:10px"><?php echo $error; ?></div>
         </div>
      </div>
   </div>
</body>
</html>

Session.php

Aşağıda session.php kod dosyası bulunmaktadır. Session değişkeninin ayarlanıp ayarlanmadığını kontrol eder; ardından kullanıcı kimlik bilgileri $login_session değişkenine atanır. Ayarlanmamışsa kullanıcı login.php dosyasına geri yönlendirilir.

PHP:
<?php
   // Start the session
   session_start();

   if(!isset($_SESSION['login_user'])){
      header("location: login.php");
      die();
   }
   $login_session = $_SESSION['login_user'];
?>

Welcome.php

"welcome.php" betiği kullanıcı doğrulandığında çağrılır. Bir karşılama mesajı görüntülemek için oturum değişkenini okur.

PHP:
<?php
   include('session.php');
?>
<html>
<head>
   <title>Welcome </title>
</head>
<body>
   <h1>Welcome <?php echo $login_session; ?></h1>
   <h2><a href = "logout.php">Sign Out</a></h2>
</body>
</html>

Logout.php

Son olarak çıkış betiği oturumu yok eder ve kullanıcıyı giriş sayfasına yönlendirir.

PHP:
<?php
   session_start();

   if(session_destroy()) {
      header("Location: login.php");
   }
?>

Giriş uygulamasını başlatmak için " " adresini ziyaret edin.

php_mysql_login_1.jpg

Kullanıcı adı ve parolayı girin. Gönder düğmesine basıldığında, bu girdiler admin tablosundaki satırlara göre kontrol edilir. Başarılı olduğunda, aşağıdaki mesajı alırsınız:

php_mysql_login_2.jpg

Sorgu eşleşen bir satır getirmezse, hata mesajı aşağıdaki gibi görüntülenir:

php_mysql_login_3.jpg
 
Bire bir çeviri, reddedildi.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst