Boas, pessoal estou com um problema durante os meus estudos com php Orientado a Objectos para criação de uma CRUD. Então o problema é o seguinte: fui seguindo o curso passo a passo e estava a correr tudo bem passo, mas quando chegou a hora de testar se havia comunicação com a base de dados através da inserção de um registo numa tabela, não teve sucesso. Tentei pesquisar em foruns, voltei a assistir as aulas relacionadas a criação das classes, fiz downgrade, reinstalei o LAMPP (estou a usar linux) mais nada funcionou. Gostaria de ter a vossa ajuda. Abaixo deixarei códigos e a estrutura do projecto
Estrutura
(Raiz)Sistema
-bd
-classes
*conexao.php
*usuario.php
-css
-js
-libs
-procedimentos
-login
*registarUsuario.php (dentro de login que esta dentro de procedimento)
-views
*dependencias.php
*menu.php
*registar.php (est]a na raiz do projecto)
Codigos
conexao.php
<?php
class conectar
{
// VARIAVEIS/CREDENCIAS DE ACESSO A BASE DE DADOS
private $servidor = "localhost";
private $usuario = "root";
private $senha = "";
private $bd = "sistema";
public function conexao()
{
$conexao = mysqli_connect(
$this->servidor,
$this->usuario,
$this->senha,
$this->bd
);
if (!$conexao) {
echo ("Sucesso!");
} else {
echo ("Falha");
}
return $conexao;
}
}
usuario.php
<?php
// require_once "../classes/conexao.php";
class usuario
{
public function registarUsuario($dados)
{
$con = new conectar();
$conexao = $con->conexao();
$data = date('Y-m-d');
$sql = "INSERT INTO usuario(nome, user_name, email, senha, data_captura) VALUES ('$dados[0]', '$dados[1]', '$dados[2]', '$dados[3]', '$data')";
return mysqli_query($conexao, $sql);
}
}
registarUsuario.php
<?php
require_once "../../classes/conexao.php";
require_once "../../classes/usuario.php";
$user = new usuario();
$senha = sha1($_POST['senha']);
$dados = array(
$_POST['nome'],
$_POST['usuario'],
$_POST['email'],
$senha
);
echo $user->registarUsuario($dados);
registar.php
<?php
// require_once "./views/dependencias.php";
require_once "classes/conexao.php";
$obj = new conectar();
$conexao = $obj->conexao();
?>
<!DOCTYPE html>
<html>
<head>
<title>Registrar Usuário</title>
<link rel="stylesheet" href="libs/bootstrap-5.0.0-beta1-dist/css/bootstrap.min.css">
<link rel="stylesheet" href="libs/alertifyjs/css/alertify.min.css">
<link rel="stylesheet" href="libs/alertifyjs/css/themes/default.css">
<link rel="stylesheet" href="libs/select2-4.0.13/dist/css/select2.min.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body style="background-color: gray">
<br><br><br>
<div class="container">
<div class="row">
<div class="col-sm-4"></div>
<div class="col-sm-4">
<div class="panel bg-white">
<div class="panel panel-heading bg-warning">Registrar Administrador</div>
<div class="panel panel-body">
<form id="frmRegistro">
<label>Nome</label>
<input type="text" class="form-control input-sm" name="nome" id="nome">
<label>Usuário</label>
<input type="text" class="form-control input-sm" name="usuario" id="usuario">
<label>Email</label>
<input type="text" class="form-control input-sm" name="email" id="email">
<label>Senha</label>
<input type="password" class="form-control input-sm" name="senha" id="senha">
<p></p>
<span class="btn btn-primary" id="registro">Registrar</span>
<a href="index.php" class="btn btn-default">Voltar Login</a>
</form>
</div>
</div>
</div>
<div class="col-sm-4"></div>
</div>
</div>
<script src="libs/jquery/jquery-3.5.1.min.js"></script>
<script src="libs/select2-4.0.13/dist/js/select2.full.min.js "></script>
<script src="https://unpkg.com/@popperjs/core@2/dist/umd/popper.js"></script>
<script src="libs/bootstrap-5.0.0-beta1-dist/js/bootstrap.min.js"></script>
<script src="libs/alertifyjs/alertify.min.js"></script>
<script src="js/script.js"></script>
<script>
$(document).ready(function() {
$("#registro").on("click", function() {
vazios = validarFormVazio("frmRegistro");
if (vazios > 0) {
alert("Preencha os campos!!");
return false;
}
dados = $("#frmRegistro").serialize();
$.ajax({
type:"POST",
data:dados,
url:"procedimentos/login/registarUsuario.php",
success: function(r) {
console.log("aqui");
alert(r);
if (r==1) {
alert("Inserido com Sucesso!");
} else {
alert("Erro ao Inserir");
}
}
});
});
});
</script>
</body>
</html>
Gostaria de entender o que fiz de errado para prosseguir no aprendizado… Preciso da vossa ajuda. Obrigado