• 08-06-2023, 06:27:34
    #1
    dersimin projesini yaparken bir kaynak bulamadım açıkcası bilginiz varsa lütfen bilgilendirir misiniz ?
    bir websitesi tasarlamamız istenen projede kullanıcı adını ve şifrenin doğru girilmesinden sonra yönlendirilecek bir php sayfası açılması isteniyor fakat veritabanını ajax ile alınması ve jquery kullanılmaması istenilmiş.türkçe kaynaklara baktım ama bir örnek göremedim yardımcı olabilecek biri var mı
  • 08-06-2023, 06:35:59
    #2
    Giriş sayfamız:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Giriş Sayfası</title>
        <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
        <script src="script.js"></script>
    </head>
    <body>
        <h2>Giriş Yap</h2>
        <form id="loginForm">
            <label for="username">Kullanıcı Adı:</label>
            <input type="text" id="username" name="username" required><br><br>
            
            <label for="password">Şifre:</label>
            <input type="password" id="password" name="password" required><br><br>
            
            <input type="submit" value="Giriş Yap">
        </form>
        
        <div id="result"></div>
    </body>
    </html>
    ajax fonksiyonlarımızın olduğu script.js

    $(document).ready(function() {
        $('#loginForm').submit(function(e) {
            e.preventDefault();
            
            var username = $('#username').val();
            var password = $('#password').val();
            
            $.ajax({
                url: 'login.php',
                type: 'POST',
                data: {
                    username: username,
                    password: password
                },
                success: function(response) {
                    if (response == 'success') {
                        $('#result').html('Giriş başarılı!');
                        // Giriş başarılı olduğunda yönlendirme veya diğer işlemleri burada yapabilirsiniz.
                    } else {
                        $('#result').html('Giriş başarısız!');
                    }
                }
            });
        });
    });
    ajax dosyamızdan istek gönderdiğimiz login.php

    <?php
    // Veritabanı bağlantısı için gerekli bilgileri buraya girin
    $db_host = 'localhost';
    $db_name = 'veritabani_adi';
    $db_user = 'kullanici_adi';
    $db_pass = 'sifre';
    
    try {
        $db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8", $db_user, $db_pass);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
        die('Veritabanı bağlantısı kurulamadı: ' . $e->getMessage());
    }
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $username = $_POST['username'];
        $password = $_POST['password'];
        
        // Kullanıcı adı ve şifre kontrolü yapılabilir
        // Örnek olarak, burada veritabanında kayıtlı bir kullanıcıyı kontrol edelim
        
        $query = $db->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
        $query->bindParam(':username', $username);
        $query->bindParam(':password', $password);
        $query->execute();
        
        if ($query->rowCount() > 0) {
            echo 'success';
            $_SESSION["login"] = true;
        } else {
            echo 'error';
        }
    }
    ?>
  • 08-06-2023, 06:46:29
    #3
    Profesör adlı üyeden alıntı: mesajı görüntüle
    Giriş sayfamız:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Giriş Sayfası</title>
        <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
        <script src="script.js"></script>
    </head>
    <body>
        <h2>Giriş Yap</h2>
        <form id="loginForm">
            <label for="username">Kullanıcı Adı:</label>
            <input type="text" id="username" name="username" required><br><br>
            
            <label for="password">Şifre:</label>
            <input type="password" id="password" name="password" required><br><br>
            
            <input type="submit" value="Giriş Yap">
        </form>
        
        <div id="result"></div>
    </body>
    </html>
    ajax fonksiyonlarımızın olduğu script.js

    $(document).ready(function() {
        $('#loginForm').submit(function(e) {
            e.preventDefault();
            
            var username = $('#username').val();
            var password = $('#password').val();
            
            $.ajax({
                url: 'login.php',
                type: 'POST',
                data: {
                    username: username,
                    password: password
                },
                success: function(response) {
                    if (response == 'success') {
                        $('#result').html('Giriş başarılı!');
                        // Giriş başarılı olduğunda yönlendirme veya diğer işlemleri burada yapabilirsiniz.
                    } else {
                        $('#result').html('Giriş başarısız!');
                    }
                }
            });
        });
    });
    ajax dosyamızdan istek gönderdiğimiz login.php

    <?php
    // Veritabanı bağlantısı için gerekli bilgileri buraya girin
    $db_host = 'localhost';
    $db_name = 'veritabani_adi';
    $db_user = 'kullanici_adi';
    $db_pass = 'sifre';
    
    try {
        $db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8", $db_user, $db_pass);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
        die('Veritabanı bağlantısı kurulamadı: ' . $e->getMessage());
    }
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $username = $_POST['username'];
        $password = $_POST['password'];
        
        // Kullanıcı adı ve şifre kontrolü yapılabilir
        // Örnek olarak, burada veritabanında kayıtlı bir kullanıcıyı kontrol edelim
        
        $query = $db->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
        $query->bindParam(':username', $username);
        $query->bindParam(':password', $password);
        $query->execute();
        
        if ($query->rowCount() > 0) {
            echo 'success';
            $_SESSION["login"] = true;
        } else {
            echo 'error';
        }
    }
    ?>

    elinize sağlık hocam türkçe olarak doğru düzgün hiçbir yer bulamamıştım ilaç gibi geldi
  • 08-06-2023, 06:46:47
    #4
    bu işini görecektir

    form bölümü
    <h1>AJAX POST İsteği Örneği</h1>
    <form id="testform">
        <input type="text" name="name" placeholder="İsim">
        <input type="text" name="surname" placeholder="Soyisim">
        <input type="text" name="age" placeholder="Yaş">
        <button type="button" onclick="sendAjaxRequest()">Gönder</button>
    </form>
    
    <div id="result"></div>
    
    <script>
        function sendAjaxRequest() {
            var form = document.getElementById("testform");
            var formData = new FormData(form);
    
            var xhr = new XMLHttpRequest();
            var url = "ajax.php";
    
            xhr.open("POST", url, true);
    
            xhr.onreadystatechange = function() {
                if (xhr.readyState === 4 && xhr.status === 200) {
                    var response = xhr.responseText;
                    document.getElementById("result").innerHTML = response; // Sonucu göster
                }
            };
    
            xhr.send(formData);
        }
    </script>


    ajax.php dosyası
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $name = $_POST['name'];
        $surname = $_POST['surname'];
        $age = $_POST['age'];
    
        // İşlemleri gerçekleştir veya veritabanına kaydet
        
        $response = "Merhaba, " . $name . " " . $surname . "! Yaşınız: " . $age;
        echo $response;
    }