Jump to content
FernandoG

Solicitação de Login PHP em aquivo Javascript

Recommended Posts

Pessoal, não sabia se postava no fórum PHP ou javascript pois na minha duvida estou manipulando ambos arquivos como a resposta vem de arquivos PHP talvez alguém aqui possa me ajudar.

A questão é que eu tenho uma condição em um arquivo javascript que recebe uma resposta de um arquivo PHP porem a condição do arquivo javacript nunca é atendida mesmo quando não existe retorno.

 

Função Java script:
Preciso que caso não exista o (res) ele execute a linha location.href="admin/"
function fctLogin(){
$.post("require/jp/jpLogin.php",
{
email:$('#eLogin').val(),
senha:$('#sLogin').val()
},function(res)
{ 
if (res){
alert(res);
var span = document.getElementById("myspan");
span.textContent = (res);}
else{
location.href="admin/";
}
}); 
}

Função PHP(jpLogin.php):

<?php
require_once"../class/ConDB.class.php";
$lgn=new Login;
echo $lgn->setLogin($_POST['email'],$_POST['senha']);

Classe PHP Login:

 

<?php
class Login
{
private $vem,$vsh,$cpt,$crud,$email,$senha,$log,$dds;


public function setLogin($email,$senha)
{
$this->vem=new ValidaEmail;
$this->vsh=new ValidaSenha;
$this->cpt=new Cripto;
$this->crud=new CRUD;


$this->email=$this->vem->setValidaEmail($email);
$this->senha=$this->vsh->setValidasenha($senha);


$this->log=$this->senha==$senha?
$this->crud->select('idUsuario','usuario','WHERE email=? && senha=?',
array($this->email, $this->cpt->setCripto($this->senha))):
FALSE;




if ($this->email<>$email)
{
return $this->email;
}else
if($this->senha<>$senha){
return $this->senha;
}else
{
if($this->log && $this->log->rowCount()>0)
{
foreach($this->log as $this->dds)
{$_SESSION['logado']=$this->dds;}
}else{
return 'Acesso negado.';}
}
}
}

A questão é que o sistema cai no laço a baixo da classe login e não deve me retornar nada sendo assim o (res) do arquivo javascript não existiria e o else deveria ser acionado, mais não estou tendo sucesso nessa questão.

if($this->log && $this->log->rowCount()>0)
{
foreach($this->log as $this->dds)
{$_SESSION['logado']=$this->dds;}
}

 

Share this post


Link to post
Share on other sites

Infelizmente não deu certo, mais muito obrigado pela resposta.

 

function fctLogin(){
$.post("require/jp/jpLogin.php",
{
email:$('#eLogin').val(),
senha:$('#sLogin').val()
},function(res)
{ 
if (res.length > 0){
alert(res);
var span = document.getElementById("myspan");
span.textContent = (res);}
else{
location.href="admin/";
}
}); 
}

Share this post


Link to post
Share on other sites

Se você der um alert no res.lenth, qual o valor exibido?

Share this post


Link to post
Share on other sites

No caso em questão, você deve retornar qualquer coisa, pois o javascript espera um retorno.

Share this post


Link to post
Share on other sites

Tentei retornar 0 ou 1, mais ele nunca passa das condições;

if($this->log && $this->log->rowCount()>0)
{
foreach($this->log as $this->dds)
{$_SESSION['logado']=$this->dds;
return 0;
}
if (res !== 0){

Share this post


Link to post
Share on other sites

O engraçado é que mesmo quando o sistema retorna uma erro, tipo "Email invalido" o res.lenth vem undefined mais o erro aparece no span.

Share this post


Link to post
Share on other sites

res.lenth não existe. É 'length'

 

Tente usar um retorno mais conciso, como JSON. Pode ser configurado, dessa forma, tudo que vier diferente de um JSON acusará erro.

Share this post


Link to post
Share on other sites

Na verdade o res.lenth está retornando 5, não sei de onde ele está tirando esses 5 caracteres. Inclusive nas mensagens de erro do tipo acesso negado ele acrescenta 5 caracteres. Mais eu resolvi com o teste de 5 if res.lenth > 5, sei que ficou feio mais é um sistema de simples cadastro para intranet. Em outro momento eu mudo o script de login. Obrigado a todos pela ajuda.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By ricardonews
      olá pessoal, eu não estou conseguindo fazer o redirecionamento apos o cadastro para index, eu estou perdido entre os ifs e else, eu acho que só pode ser isso,  quando eu coloco meu código trava, e não faz nada. vou postar o print.

    • By Fábio Capello
      Oi pessoal tudo bem?sou novo no fórum estou desenvolvendo um sistema web preciso de ajuda meu dificuldade e para por segurança na páginas php.quando um usuário logado quer mudar de navegador ele cópia link e colou em outro navegador ele terá acesso mas quero que ele direcione para página de login 
    • By Dinho Nunes LC
      <div align="center" id="subtitulo"> Canais Abertos </div> <div class="ui cards"> <div class="card"> <div class="content"> <a href="globo.html" style="display: block; color: black"> <div align="center"> <div> <img class="ui tiny image" id="imagem_card_casa" src="assets/images/Rede_Globo_2014.png"> <div align="center" id = "nome_time_fora"> <b>Globo RJ</b> </div> </div> Onde "globo.html" seria substituído pelo link que esta em uma tabela do banco de dados.
       
      Já fiz a conexão. E tenho a base de dados pronta.
       
      Motivo pelo qual estou buscando ajuda:
       
      Faço manualmente a mudança de cada link (são mais de 300) diariamente para evitar copias de terceiros. Sendo assim poderia usar um CRUD para facilitar a troca dos links direto no banco de dados.
    • By Ailton José do Amaral Filh
      Boa Tarde .... Tenho um diretório no servidor LINUX ..... /opt/www/nfe4/public/nfe7/producao/pdf ]
       
      dentro desse diretorio tenos os arquivos Danfe de nota fiscal, ...... -danfe.pdf, fiz um programa em php o qual o usuario vai me falar o numero da nota, o cnpj e tenho que localizar esse arquivo pdf e mandar por email ou abrir pra ele ver.  no nome do arquivo .pdf eu tenho o numero do cnpj e tenho o numero da nota, precisaria montar um mecanismo pra buscar esse arquivo no php .... Alguém tem uma idéia ?? Não sei se via expressão Regular .....Se alguem tiver uma ideia preciso de sugestões de como montar esse codigo !! 
       
      Obrigado  
    • By Wallis
      Olá, sou novo por aqui e estou aprendendo PHP agora.
      O meu problema é relacionado a um exercício que deve ser simples de resolver para vocês. 
      Vou colocar ele aqui, caso alguém posso me ajudar. 

      Utilizando um while, fazer um programa que lance uma moeda (escolhendo  um número aleatório que pode ser 0 ou 1) até tirar 5 vezes cara (o número 1).  Ao terminar, imprimir o número de lançamentos da moeda até tirar 5 vezes  cara.  
       
      Desde já agradeço. vlw
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.