Bom dia pessoal,
estou tentando fazer agora especificamente uma telinha de login e uma telinha de cadastro rápido ao meu site... porém estou com um probleminha:
abaixo o código do meu fonte login.php, aonde ele usa o javascript que estou com problemas<script language="javascript">
$(function() {
var name = $( "#name" ),
user = $( "#user" ),
email = $( "#email" ),
password = $( "#password" ),
repassword = $( "#repassword" ),
usl = $( "#usl" ),
psl = $( "#psl" ),
allFields = $( [] ).add( name ).add( user ).add( email ).add( password ).add( repassword ).add( usl ).add( psl ),
tips = $( ".validateTips" );
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
function updateTips( t ) {
tips
.text( t )
.addClass( "ui-state-highlight" );
setTimeout(function() {
tips.removeClass( "ui-state-highlight", 1500 );
}, 500 );
}
function checkLength( o, n, min, max ) {
if ( o.val().length > max || o.val().length < min ) {
o.addClass( "ui-state-error" );
updateTips( "Tamanho do campo " + n + " deve conter entre " + min + " e " + max + " caracteres." );
return false;
} else {
return true;
}
}
function checkPasswords( pass, repass) {
if ( pass.val() != repass.val() ) {
pass.addClass( "ui-state-error" );
updateTips( "Campos 'Senha' e 'Confirmar senha' estao diferentes, verifique!." );
return false;
} else {
return true;
}
}
function checkRegexp( o, regexp, n ) {
if ( !( regexp.test( o.val() ) ) ) {
o.addClass( "ui-state-error" );
updateTips( n );
return false;
} else {
return true;
}
}
$( "#dialog-form" ).dialog({
autoOpen: false,
height: 550,
width: 450,
modal: true,
buttons: {
"Criar nova conta": function() {
var bValid = true;
allFields.removeClass( "ui-state-error" );
bValid = bValid && checkLength( name, "nome", 3, 16 );
bValid = bValid && checkLength( user, "usuario", 3, 16);
bValid = bValid && checkLength( email, "email", 6, 80 );
bValid = bValid && checkLength( password, "senha", 5, 16 );
bValid = bValid && checkLength( repassword, "resenha", 5, 16);
bValid = bValid && checkPasswords( password, repassword);
// bValid = bValid && checkRegexp( name, /^[a-z]([0-9a-z_])+$/i, "Nome deve conter somente letras a-z, A-Z, 0-9, underline e começar com uma letra." );
// From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
bValid = bValid && checkRegexp( email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "Email inválido. Ex.: [email removido]" );
bValid = bValid && checkRegexp( password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9" );
if ( bValid ) {
updateTips("");
function sucessoInsertUser(retorno) {
updateTips('Usuario inserido com sucesso!');
document.location.reload();
}
function erroInsertUser() {
alert('Erro ao inserir usuario no banco de dados');
}
function sucessoValidaUser(retorno) {
if (retorno == 'OK') {
$.ajax({
type: 'POST',
url: 'includes/InsereUsuario.php',
data: {name : cadastro.name.value, user: cadastro.user.value, pass : cadastro.password.value, mail : cadastro.email.value}
}).done(sucessoInsertUser).fail(erroInsertUser);
} else {
user.addClass( "ui-state-error" );
updateTips("Usuario " + cadastro.user.value + " ja cadastrado, tente outro!");
}
}
function erroValidaUser() {
alert('Erro ao validar usuario no banco de dados');
}
$.ajax({
type: 'POST',
url: 'includes/validaUsuario.php',
data: {user : cadastro.user.value}
}).done(sucessoValidaUser).fail(erroValidaUser);
}
},
Cancelar: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$( "#dialog-form-login" ).dialog({
autoOpen: false,
height: 320,
width: 450,
modal: true,
buttons: {
"Login": function() {
var bValid = true;
allFields.removeClass( "ui-state-error" );
bValid = bValid && checkLength( usl, "usuario", 3, 16);
bValid = bValid && checkLength( psl, "senha", 3, 16 );
if ( bValid ) {
updateTips("");
function sucessoLogin(retorno) {
if (retorno == 'OK') {
updateTips('Login efetuado com sucesso!');
document.location.reload();
} else {
updateTips('Usuario e/ou senha invalidos!');
user.addClass( "ui-state-error" );
}
}
function erroLogin() {
user.addClass( "ui-state-error" );
updateTips('Usuario e/ou senha invalidos!');
}
$.ajax({
type: 'POST',
url: 'includes/logar.php',
data: {user : login.usl.value, pass : login.psl.value}
}).done(sucessoLogin).fail(erroLogin);
}
},
Cancelar: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
$( "#create-user" )
.button()
.click(function() {
$( "#dialog-form" ).dialog( "open" );
});
$( "#login-user" )
.button()
.click(function() {
$( "#dialog-form-login" ).dialog( "open" );
});
$( "#disconnect" )
.button()
.click(function() {
<?php session_destroy() ?>
document.location.reload();
});
});
</script>
<style>
body { font-size: 62.5%; }
label, input { display:block; }
input.text { margin-bottom:12px; width:95%; padding: .4em; }
fieldset { padding:0; border:0; margin-top:25px; }
h1 { font-size: 1.2em; margin: .6em 0; }
div#users-contain { width: 350px; margin: 20px 0; }
.ui-dialog .ui-state-error { padding: .3em; }
.validateTips { border: 1px solid transparent; padding: 0.3em; }
.btn_novo {height:38px; width:110px; background:#069; border:0px solid #000; color:#FFF; }
.btn_novo:hover{ background:#09C; cursor:pointer; color: #0000; }
.btn_login {height:38px; width:90px; background:#069; border:0px solid #000; color:#FFF; }
.btn_login:hover{ background:#09C; cursor:pointer; color: #0000; }
.btn_desconctar { height:38px; width:90px; background:#069; border:0px solid #000; color:#FFF; }
.btn_desconctar:hover{ background:#09C; cursor:pointer; color:0000; }
</style>
<div id="dialog-form" title="Criar novo usuario">
<p class="validateTips">Todos os campos sao obrigatorios.</p>
<form name="cadastro">
<fieldset>
<label for="name">Nome</label>
<input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
<label for="name">Usuario</label>
<input type="text" name="user" id="user" class="text ui-widget-content ui-corner-all" />
<label for="email">Email</label>
<input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
<label for="password">Senha</label>
<input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
<label for="repassword">Confirmar Senha</label>
<input type="password" name="repassword" id="repassword" value="" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
<div id="dialog-form-login" title="Login">
<p class="validateTips"></p>
<form name="login">
<fieldset>
<label for="name">Usuario</label>
<input type="text" name="usl" id="usl" class="text ui-widget-content ui-corner-all" />
<label for="password">Senha</label>
<input type="password" name="psl" id="psl" value="" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
<!------------------------------------------------------------------------------------------------------------------------------------------------>
<?php
include_once("config.php");
include "funcoes.php";
?>
<ul>
<li>
<?php if (!isset($_SESSION["logado"])) { ?>
<button id="create-user" class="btn_novo">Novo Usuario</button>
<button id="login-user" class="btn_login">Login</button>
<?php } else { ?>
<button id="disconnect" class="btn_desconctar">Desconectar</button>
<?php } ?>
</li>
vamos ao problema, quando eu tinha somente a tela de cadastro de usuário, tudo funcionava como uma maravilha, porém quando adicionei a tela de login, tive um problema que não faz o login...
ele da erro no debugger do ie é: SCRIPT5007: Não é possível obter valor da propriedade 'value': o objeto é nulo ou não definido
o estranho é que no cadastro tudo funciona e usei o mesmo para cola do login...
Grato desde já pela ajuda,
Pablo R. Harger.