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;
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.
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.
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.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
" adresini ziyaret edin.
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:
Sorgu eşleşen bir satır getirmezse, hata mesajı aşağıdaki gibi görüntülenir: