PHP - Giriş Örneği

Carissa

Administrator
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!

Tipik bir PHP web uygulaması, kullanıcı adı ve parola gibi kimlik bilgilerini sorarak oturum açmadan önce kullanıcıyı doğrular . Kimlik bilgileri daha sonra sunucuda bulunan kullanıcı verileriyle karşılaştırılır. Bu örnekte, kullanıcı verileri ilişkisel bir dizi biçiminde mevcuttur. Aşağıdaki PHP Oturum Açma betiği aşağıda açıklanmıştır.

HTML Formu

Kodun HTML kısmı, kullanıcı adı ve şifreyi kabul eden ve verileri kendisine gönderen basit bir HTML formu sunar.


PHP Kimlik Doğrulaması

PHP betiği POST verilerini ayrıştırır ve kullanıcı adının kullanıcılar dizisinde mevcut olup olmadığını kontrol eder. Bulunursa, parolanın dizideki kayıtlı kullanıcıya karşılık gelip gelmediğini daha fazla kontrol eder.

PHP:
<?php
   if (array_key_exists($user, $users)) {
      if ($users[$_POST['username']]==$_POST['password']) {
         $_SESSION['valid'] = true;
         $_SESSION['timeout'] = time();
         $_SESSION['username'] = $_POST['username'];
         $msg = "You have entered correct username and password";
      } else {
         $msg = "You have entered wrong Password";
      }
   } else {
      $msg = "You have entered wrong user name";
   }
?>

Kullanıcı adı ve uygun mesaj $_SESSION dizisine eklenir. Kullanıcıya, girdiği kimlik bilgilerinin doğru olup olmadığına bakılmaksızın ilgili bir mesaj gösterilir.

Tam Kod

İşte tam kod:

Login.php


PHP:
<?php
   ob_start();
   session_start();
?>
<html lang = "en">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <link rel="stylesheet" href="loginstyle.css">
   <title>Login</title>
</head>
<body>
   <h2 style="margin-left:10rem; margin-top:5rem;">Enter Username and Password</h2>
   <?php
      $msg = '';
      $users = ['user'=>"test", "manager"=>"secret", "guest"=>"abc123"];

      if (isset($_POST['login']) && !empty($_POST['username'])
      && !empty($_POST['password'])) {
         $user=$_POST['username'];               
         if (array_key_exists($user, $users)){
            if ($users[$_POST['username']]==$_POST['password']){
               $_SESSION['valid'] = true;
               $_SESSION['timeout'] = time();
               $_SESSION['username'] = $_POST['username'];
               $msg = "You have entered correct username and password";
            }
            else {
               $msg = "You have entered wrong Password";
            }
         }
         else {
            $msg = "You have entered wrong user name";
         }
      }
   ?>

   <h4 style="margin-left:10rem; color:red;"><?php echo $msg; ?></h4>
   <br/><br/>
   <form action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
      <div>
         <label for="username">Username:</label>
         <input type="text" name="username" id="name">
      </div>
      <div>
         <label for="password">Password:</label>
         <input type="password" name="password" id="password">
      </div>
      <section style="margin-left:2rem;">
         <button type="submit" name="login">Login</button>
      </section>
   </form>

   <p style="margin-left: 2rem;">
      <a href = "logout.php" tite = "Logout">Click here to clean Session.</a>
   </p>
   </div>
</body>
</html>

Logout.php

Çıkış yapmak için kullanıcı logout.php bağlantısına tıklar.

PHP:
<?php
   session_start();
   unset($_SESSION["username"]);
   unset($_SESSION["password"]);
 
   echo '<h4>You have cleaned session</h4>';
   header('Refresh: 2; URL = login.php');
?>

" " girerek uygulamayı başlatın. İşte farklı senaryolar:

Doğru Kullanıcı Adı ve Şifre



Yanlış Şifre


Yanlış Kullanıcı Adı

 

Bire bir çeviri, reddedildi.
 

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