I'm building a simple account registration system (email, password, etc.) using PHP and Construct 3. However, I'm struggling to make Construct 3 handle responses properly. For example, if the account creation is successful, I want Construct to receive a "success" message and perform an action. If there's an error, I want it to do something else. How can I implement this?
If anyone can help me, I would be very grateful!
[php]
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json");
// Conexão com o banco de dados
$conn = new mysqli("localhost", "root", "", "meujogo");
// Verifica a conexão com o banco
if ($conn->connect_error) {
die(json_encode(["status" => "erro", "mensagem" => "Falha na conexão com o banco de dados."]));
}
// Verifica se os campos foram enviados via POST
if (isset($_POST['nomeConta'], $_POST['nomeSenha'], $_POST['repitaSenha'], $_POST['nomeVerdadeiro'])) {
$nomeConta = $conn->real_escape_string($_POST['nomeConta']);
$nomeSenha = $conn->real_escape_string($_POST['nomeSenha']);
$repitaSenha = $conn->real_escape_string($_POST['repitaSenha']);
$nomeVerdadeiro = $conn->real_escape_string($_POST['nomeVerdadeiro']);
// Verifica se as senhas são iguais
if ($nomeSenha !== $repitaSenha) {
echo json_encode(["status" => "erro", "mensagem" => "As senhas não coincidem."]);
exit();
}
// Verifica se o nome de conta já existe
$checkUserQuery = "SELECT id FROM usuarios WHERE nome_conta = '$nomeConta'";
$result = $conn->query($checkUserQuery);
if ($result->num_rows > 0) {
echo json_encode(["status" => "erro", "mensagem" => "O nome de conta já está em uso."]);
exit();
}
// Insere os dados no banco (senha sem criptografia)
$sql = "INSERT INTO usuarios (nome_conta, senha, nome_verdadeiro) VALUES ('$nomeConta', '$nomeSenha', '$nomeVerdadeiro')";
if ($conn->query($sql) === TRUE) {
echo json_encode(["status" => "sucesso", "mensagem" => "Registro realizado com sucesso."]);
} else {
echo json_encode(["status" => "erro", "mensagem" => "Erro ao salvar os dados."]);
}
} else {
echo json_encode(["status" => "erro", "mensagem" => "Campos obrigatórios não enviados."]);
}
$conn->close();
?>[/php]