I've been trying to solve this problem for 2 days, I saw some questions from the site, but none solves the problem. I'm putting Ajax in my CBT login, but it will not, it does not make a mistake. I already made a file_exists
in the path of the target file of the request and that's right. And if they can confirm if I'm getting the data right in PHP, because the examples I saw on the site were only with a value inside the JSON.
index.php
//coloquei só o script porque o código é longo.. (JQuery está incluso pelo bootstrap..
<script>
function enviar() {
var usuario = $("[name='txtu']").val();
var senha = $("[name='txts']").val();
//está chegando os valores
console.log(usuario +'/'+ senha);
$.ajax({
url: "./controller_php/verificaLogin.php",
type: "POST",
data: {'usuario' : usuario, 'senha' : senha},
dataType: "json"
}).done(function (resposta) {
console.log(resposta);
}).fail(function () {
// está caindo aqui sempre
console.log("Falha");
});
}
</script>
checkLogin.php
require_once './model_php/login.class.php';
if ($_POST) {
$user = json_decode($_POST['usuario']);
$senha = json_decode($_POST['senha']);
session_start();
//coloquei isso pra testar em uma outra página para ver se estava ocorrendo o post, e na outra página mostra que a variável não foi criada.
$_SESSION['a'] = $json;
if (Login::logar($user, $senha)){
$_SESSION['nome'] = $user;
$cpf = Login::pegaCPFUsuario($user);
$_SESSION['tipoUsuario'] = Login::pegaTipoUsuario($user);
if ($_SESSION['tipoUsuario'] == 2) {
$_SESSION['log'] = 'ativo';
return true;
} else {
$_SESSION['log'] = 'ativoTecnico';
return true;
}
} else {
return false;
}
}