Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou fazendo Test login com ajax, estou aprendendo ajax não manjo quase nada vou postar código
O que acontece fica só "verificando ...." não sai do rastro, só estou fazendo teste com esses arquivos os scripts pagina de login.php estão puxando corretamente, e a notificação é com notify
LOGIN.PHP
<form id="entrar_form" class="form-horizontal m-t-20" method="post">
<input name="user_login" id="user_login" type="text" >
<input name="user_senha" id="user_senha" type="password">
<button type="submit" id="entrar_btn">ENTRAR</button>
</form>
<!-- jQuery -->
<script src="jquery.min.js"></script>
<script src="notifyjs/js/notify.js"></script>
<script src="notifications/notify-metro.js"></script>
<script src="entrar.js"></script>
ENTRAR.JS
$(document).ready(function() {
var btnform = $('#entrar_btn');
$('#entrar_form').submit(function() {
$.ajax({
url: 'app.php',
method: 'POST',
data: $('#entrar_form').serialize(),
beforeSend: function() {
btnform.attr("disabled", true);
btnform.html('<i class="fa fa-spin fa-spinner"></i> VERIFICANDO ...');
},
success: function(acessar) {
switch (acessar) {
case 'invalid_login':
$.Notification.notify(
'error',
'top right',
'LOGIN INEXISTENTE !',
'Esse login não está registrado, tente novamente.');
btnform.attr("disabled", false);
btnform.html('ENTRAR');
break;
}
}
});
return false;
});
});
APP.PHP
<?php
echo "invalid_login";
exit;
?>1 - Retire eventuais caracteres indesejados da sua string. Isso já deve fazer funcionar:
switch ( acessar.trim() ) { //deixe assim..
2 - Não conheço essa biblioteca, mas pelo que vi na documentação dela, você deveria tentar algo assim:
$.notify(
'Esse login não está registrado, tente novamente.',
{
position: 'top right',
}
);
Top funcionou perfeitamente, você é o cara , só uma pergunta é seguro usar o ajax dessa forma programação que uso é PDO
>
7 minutos atrás, Emerson.Oliveira disse:
só uma pergunta é seguro usar o ajax dessa forma
Você pretende fazer o procedimento de login usando o JS/AJAX, certo?
Em tese, a segurança é a mesma de fazer o login normalmente (php/form), mas lidando com JS você facilita a presença um leque maior de possíveis brechas de segurança. Não precisa se assustar, mas veja algumas: XSS), CSRF). CFS, Clickjacking
Da forma como você está trabalhando (apenas lendo o resultado e comparando no switch) não gera problemas, mas certifique-se de:
1 - Seguir princípios defensivos de programação. Isso você consegue estudando e entendendo os ataques.
2 - Utilizar SSL. Fundamental nos dias atuais.
3 - Analise e otimize os cabeçalhos de resposta da aplicação.
@Matheus Tavares como eu chamo essa função sem chamar em outra pagina tem como
tira url: 'app.php'
e chamar na mesmo arquivo usando isset(post) unset(quebrar post)
$(document).ready(function() {
var btnform = $('#entrar_btn');
$('#entrar_form').submit(function() {
$.ajax({
url: 'app.php',
method: 'POST',
data: $('#entrar_form').serialize(),
beforeSend: function() {
btnform.attr("disabled", true);
btnform.html('<i class="fa fa-spin fa-spinner"></i> VERIFICANDO ...');
},
success: function(acessar) {
switch (acessar) {
case 'invalid_login':
$.Notification.notify(
'error',
'top right',
'LOGIN INEXISTENTE !',
'Esse login não está registrado, tente novamente.');
btnform.attr("disabled", false);
btnform.html('ENTRAR');
break;
}
}
});
return false;
});
});Não entendi sua dúvida. Peço que explique melhor...
Vou mover para a área correta (JS).
tipo eu estou na pagina entrar.php, ali no ajax tenho que chamar na pasta app.php tem como chamar na mesma pagina entrar.php
Ter como, tem, mas não seria bom, pois você tornaria ambas as funcionalidades mais lentas.
Você deveria manter como está.
>
29 minutos atrás, Matheus Tavares disse:
Ter como, tem, mas não seria bom, pois você tornaria ambas as funcionalidades mais lentas.
Você deveria manter como está.
Entendi, Beleza
Olá @Matheus Tavares Beleza, esse sistema em Ajax esta funcionando em todas as hospedagem em CPANEL mais não funciona na hospedagem Hostinger fica só "VERIFICANDO ... " e não aparece o restante, porque será
@Matheus Tavares, da uma help fera ,fazendo favor