извините за мой плохой английский, я новичок в 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. Вы можете попробовать это на моем сайте
Спасибо за вашу помощь