1. $db_user ve $db_name değişkenlerinde bir tırnak hatası vardı, onları düzelt.
  2. password_hash fonksiyonu kullanırken uygun parametreleri sağlamak için bir kontrol ekle.
  3. SQL sorgusunda kullanılan değerlerin güvenliğini artırmak için mysqli_real_escape_string fonksiyonunu kullan


    [*]<?php// Veritabanı bağlantısı
    $db_host = 'localhost';
    $db_user = 'root';
    $db_pass = 'x';
    $db_name = 'x';
    
    $conn = new mysqli($db_host, $db_user, $db_pass, $db_name);
    
    if ($conn->connect_error) {
        die("Veritabanına bağlanırken hata: " . $conn->connect_error);
    }
    
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $username = mysqli_real_escape_string($conn, $_POST["username"]);
        $email = mysqli_real_escape_string($conn, $_POST["email"]);
        $password = password_hash($_POST["password"], PASSWORD_DEFAULT);
    
        // Veritabanına kullanıcıyı ekle
        $sql = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$password')";
    
        if ($conn->query($sql) === TRUE) {
            echo '<script>
            new Noty({
                text: "Kayıt başarıyla tamamlandı",
                type: "success",
                layout: "topRight",
                timeout: 3000
            }).show();
            </script>';
        } else {
            echo '<script>
            new Noty({
                text: "Hata oluştu: ' . $conn->error . '",
                type: "error",
                layout: "topRight",
                timeout: 3000
            }).show();
            </script>';
        }
    }
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Kayıt Sayfası</title>
        <!-- Noty CSS -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/noty@3.1.4/lib/noty.css">
    </head>
    <body>
    
    <h2>Kayıt Ol</h2>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
        <label for="username">Kullanıcı Adı:</label>
        <input type="text" id="username" name="username" required><br>
    
        <label for="email">E-posta:</label>
        <input type="email" id="email" name="email" required><br>
    
        <label for="password">Şifre:</label>
        <input type="password" id="password" name="password" required><br>
    
        <input type="submit" value="Kayıt Ol">
    </form>
    
    <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
    <!-- Noty JavaScript -->
    <script src="https://cdn.jsdelivr.net/npm/noty@3.1.4/lib/noty.js"></script>
    
    </body>
    </html>
    
    <?php
    $conn->close();
    ?>[*]