Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP - एक लॉगिन सिस्टम के साथ सुरक्षित सदस्य-केवल पृष्ठ

मेरा सुझाव है कि आप अपना दृष्टिकोण बदलें।

हालाँकि पहली नज़र में ये उदाहरण फ़ाइलें बहुत कुछ लगती हैं, एक बार जब आप इनका अध्ययन कर लेंगे तो आप देखेंगे कि यह वास्तव में उस दिशा से कहीं अधिक सरल और तार्किक दृष्टिकोण है जिस दिशा में आप जा रहे हैं।

सबसे पहले, db कनेक्ट / लॉगिन सामग्री को एक अलग फ़ाइल में ले जाएँ, और require या include प्रत्येक PHP पृष्ठ के शीर्ष पर वह फ़ाइल:

INIT.PHP

    // Create connection
    $conn = new mysqli($servername, $username, $password, $db);

    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    } 

    //Might as well also load your functions page here, so they are always available
    require_once('fn/functions.php');
?>

अब, देखें कि हम इसे अनुक्रमणिका (और प्रतिबंधित) पृष्ठों पर कैसे उपयोग करते हैं?

INDEX.PHP

<?php
    require_once('inc/head.inc.php');
    require_once('fn/init.php');
?>

<body>
    <!-- Examples need jQuery, so load that... -->
    <script src="https://code.jquery.com/jquery-1.11.3.js"></script>
    <!-- and our own file we will create next... -->
    <script type="text/javascript" src="js/index.js"></script>

    <div id="pageWrap">
        <div id="loginDIV">
            LoginID: <input type="text" id="liID" /><br>
            LoginPW: <input type="password" id="liPW" /><br>
            <input type="button" id="myButt" value="Login" />
        </div>
    </div>

JS/INDEX.JS

$(function(){
    $('#myButt').click(function(){
        var id = $('#liID').val();
        var pw = $('#liPW').val();
        $.ajax({
            type: 'post',
             url: 'ajax/login.php',
            data: 'id=' +id+ '&pw=' +pw,
            success: function(d){
                if (d.length) alert(d);
                if (d==1) {
                    window.location.href = 'restricted_page.php';
                }else{
                    $('#liID').val('');
                    $('#liPW').val('');
                    alert('Please try logging in again');
                }
        }
        });
    });//END myButt.click

}); //END document.ready

AJAX/LOGIN.PHP

<?php
    $id = $_POST['id'];
    $pw = $_POST['pw'];

    //Verify from database that ID and PW are okay
    //Note that you also should sanitize the data received from user

    if ( id and password authenticate ){
        //Use database lookups ot get this data: $un = `username` 

        //Use PHP sessions to set global variable values
        $_SESSION['username'] = $un;
        echo 1;
    }else{
        echo 'FAIL';
    }

RESTRICTED_PAGE.PHP

<?php
    if (!isset($_SESSION['username']) ){
        header('Location: ' .'index.php');
    }

    require_once('inc/head.inc.php');
    require_once('fn/init.php');
?>
<body>
    <h1>Welcome to the Admin Page, <?php echo $_SESSION['username']; ?>
    <!--  AND here go all teh restricted things you need a login to do. -->

AJAX के बारे में अधिक जानकारी - सरल उदाहरणों का अध्ययन करें




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक खोज स्ट्रिंग के साथ MySQL find_in_set

  2. MySQL डीबी में कॉलम नामों में हाइफ़न

  3. DATE_SUB () उदाहरण – MySQL

  4. CentOS 7 . पर Percona XtraDB क्लस्टर स्थापित करना

  5. प्रमाणीकरण प्लगइन 'caching_sha2_password' समर्थित नहीं है