SQLite PDO - данные не вставлены в базу данных - PullRequest
0 голосов
/ 15 января 2019

извините за мой плохой английский, я новичок в php.

так что у меня есть игровой сервер, я хочу, чтобы игроки регистрировались через веб-сайт и сохраняли данные в файле Accounts.db

Конфигурация моей базы данных

try {
    # SQLite Database
    $dbh = new PDO("sqlite:/home/samp/scriptfiles/Accounts.db");
}
catch(PDOException $e) {
    echo $e->getMessage();
}

мой php файл

$error = '';
$success = '';

if (isset($_POST['submit'])){
    global $dbh;

    $username = $_POST['username'];
    $password = $_POST['password'];
    $cpassword = $_POST['cpassword'];
    $hashed = num_hash($password);
    $checkusername = strpos($username, "_");
    $sql = "SELECT COUNT(*) FROM `Accounts` WHERE `Username` = '$username'";
    $checkexist = $dbh->query($sql);

    if (!empty(trim($username)) && (!empty(trim($password)))){
        //$recaptcha_secret = "6LcM1EYUAAAAAF1cINK71jkpRfoqlGec58r8bIkf";
        //$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$recaptcha_secret."&response=".$_POST['g-recaptcha-response']);
        //$response = json_decode($response, true);
        //if($response["success"] === true) {
            if ($checkusername) {
                if ($password == $cpassword){
                    if ($checkexist->fetchColumn() == 0) {
                        $sql = "INSERT INTO `Accounts` (`Username`, `Password`) VALUES(?, ?)";
                        $insert->execute(array($username, $hashed));
                        if ($insert) {
                            $success = 'Berhasil melakukan registrasi.';
                        } else {
                            $error = 'Database error.';
                        }
                    } else {
                        $error =  'Username sudah digunakan.';
                    }
                } else {
                    $error =  'Password yang anda masukan tidak sama.';
                }
            } else {
                $error = 'Username akan digunakan sebagai Nama Karakter, gunakan format NamaDepan_NamaBelakang. Contoh: John_Smith';
            }
        //} else {
        //  $error= 'Apakah anda robot? Silahkan selesaikan captcha sebelum login';
        //}
    } else {
        $error = 'You should input Username & Password!';
    }
}

, когда я пытаюсь зарегистрироваться на сайте, он дает успешное уведомление, но данные не заносятся в файл Accounts.db. Вы можете попробовать это на моем сайте

Спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...