Estou começando a usa o exjs, e to com um plobema, eu crieu um form de login, mas não consigo pegar os dado no php, vou colocar o codio abaixo:
index.php
<html>
<head>
<title>Sistema de Vendas Microtools</title>
<!-- css com os estilos padões da biblioteca ExtJs -->
<link rel="stylesheet" type="text/css" href="Layout/css/ext-all.css"/>
<!-- css com o tema da página -->
<link rel="stylesheet" type="text/css" href="Layout/css/xtheme-aero.css"/>
<!-- css com os estilos personalizados -->
<link rel="stylesheet" type="text/css" href="Layout/css/layoutPagina.css"/>
</head>
<!-- Mensagem "Aguarde..." durante o carregamento da página -->
<div id="loading-mask"> </div>
<div id="loading">
<div class="loading-indicator"><img src="Layout/images/default/grid/loading.gif" style="width:16px;height:16px;" align="middle"/> Carregando...</div>
</div>
<!-- Incluindo bibliotecas ExtJs e YUI -->
<script type="text/javascript" src="js/ext/ext-base.js"></script>
<script type="text/javascript" src="js/ext/ext-all.js"></script>
<script type="text/javascript" src="js/ext/ext-lang-pt_br.js" charset="utf-8"></script>
<!-- Script responsavel pelo login -->
<script type="text/javascript" src="js/my/login.js"></script>
<!-- Script responsavel por fechar a mensagem de "Aguarde..." apos o carregamento dos Scrips anteriores (pode demorar um pouco !) -->
<script type="text/javascript" src="js/my/fimLoad.js"></script>
<style type="text/css">
.pngTransp{
width:80px;
height:80px;
position:absolute;
margin-left:70%;
background:url(Layout/images/default/shared/usuarios.png) no-repeat center center;
_background:none!important;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='Layout/images/default/shared/usuarios.png',sizingMethod='scale');
}
.divPos{
position:absolute;
margin-left:70%;
}
</style>
<body>
<div id="loginDlg" style="visibility:hidden;position:absolute;top:0px;">
<div class="x-dlg-hd">Sistema de Vendas Microtools - Login</div>
<div class="x-dlg-bd">
<div id="loginImg" class="pngTransp"></div>
<br />
<div id="myForm" style="margin-top:5%; width:98%;"></div>
</div>
</div>
</div>
</body>
</html>
Codigo do Formulario:
login.js
/***************
Autor: Willian de Carvalho
e-mail: williandecarvalho@yahoo.com.br
Arquivo: login.js
Projeto: vendas
Criação: 04-11-2007
Alteração: 07-12-2007
Objetivo: Script para criar o formulario de login
***************/
//Criando namespace
Ext.namespace('vendas');
vendas.login = function(){
//Criando métodos publicos
return {
//Método construtor da classe
init: function(){
//Variavel Utilizada para exibir o formulario
var dialog;
//Exibir mensagem de alerta nos campos texto
Ext.QuickTips.init();
//Posicionamento das mensages de alerta
Ext.form.Field.prototype.msgTarget = 'side';
//Redimensionando Imagem no formulario (caso não seja Internet Explorer)
if (!Ext.isIE) {
var divImg = Ext.get('loginImg');
divImg.insertHtml('afterBegin', '<img style="widht:80px; height:80px;" src="Layout/images/default/shared/usuarios.png" />');
divImg.removeClass('pngTransp');
divImg.addClass('divPos');
}
//Criando fomulario
var myForm = new Ext.form.Form({
labelAlign: 'right',
labelWidth: 75,
buttonAlign: 'center',
url: 'preLogin.php'
});
//Criando campo login
var myForm_login = new Ext.form.Field({
fieldLabel: 'Login',
name: 'login',
id: 'login',
width: 100,
allowBlank: false
});
//enviando os dados
var myForm_senha = new Ext.form.Field({
fieldLabel: 'Senha',
name: 'senha',
id: 'senha',
inputType: 'password',
width: 100,
allowBlank: false
});
//Adicionando textFild's criados ao formulario
myForm.add(myForm_login, myForm_senha);
//Renderizando o formulario
myForm.render('myForm');
//Testa se não existe outra instancia do formulario
if (!dialog) {
dialog = new Ext.BasicDialog("loginDlg", {
modal: true,
width: 300,
height: 160,
shadow: true,
resizable: false,
proxyDrag: true
});
//Adiciona um botão ao formulario com o evento definido
dialog.addButton('Entrar', entrar, dialog);
}
//Exibe o formulario
dialog.show();
//Caso o formulario seja fechado redireciona para a pagina novamente
dialog.on('hide', function(){
window.location = 'index.php';
});
//Funcão chamada peo evento do botão do formulário
function entrar(){
//Testa se o valor nos campos do formulario é valido
if (myForm.isValid()) {
//Envia os valores do formulario
myForm.submit({
//Mensagem de espera
waitMsg: 'Autenticando usuário...',
//Limpa os campos após o submit
reset: false,
//Método chamado em caso se sucesso na comunicação
success: ajax.success,
//Método chamado em caso de falha na comunicação
failure: ajax.failure
});
}
else {
//Mensagem de erro caso algum campo apresente falha de validação
Ext.MessageBox.alert('Login - Erro', 'Preencha corretamente seus dados de login.');
}
};
//Metodos utilizados pelo evento de envio do fomulario
var ajax = {
success: function(form, action){
window.location = "login.php";
},
failure: function(form, action){
Ext.MessageBox.alert('Login - Erro', 'Dados de login inválido, favor forneca seu dados de login corretamente.');
}
};
}
};
}
();
//Adicionado a classe ao manipulador de eventos da ext, sendo instanciada quando o documento é carregado
Ext.EventManager.onDocumentReady(vendas.login.init, vendas.login, true);
por fimo codigo oho para o login
login.php
<?php
include "scripts/AcessConfig.inc";
$nLogin=$_POST["login"];
$nSenha=md5($_POST["senha"]);
$tabela="usuario";
$sql = "SELECT * FROM $tabela WHERE login ='$nLogin' and senha ='$nSenha'";
//faz a seleção de informações na tabela.
$res=mysql_query($sql,$conn) or die (mysql_error());
$userValido=mysql_num_rows($res);
if($userValido<1){
echo "Deu erro!<br>";
echo "Usuario: $nLogin<br>";
echo "Senha : ".$_POST['senha']."<br>";
echo "Sql: $sql<br>";
//header("Location: acessoerro.htm");
}else{
session_name("vendas");
session_start();
$_SESSION["se_iduser"] = "$idUs";
$_SESSION["se_cargo"] = "$cUs";
header("Location: cadastro.php");
}
?>
o resultado é o seguinte:
digito usuario: itibere
senha: 1234
resulta em :
Deu erro!
Usuario:
Senha :
Sql: SELECT * FROM usuario WHERE login ='' and senha =''
eu já olhei no goole, e na documenteção do ext, e ta tudo certo, mas o php não consegue pegar os dados do form.
Pergunta
itibere
Pessola, preciso de uma ajuda,
Estou começando a usa o exjs, e to com um plobema, eu crieu um form de login, mas não consigo pegar os dado no php, vou colocar o codio abaixo:
index.php
<html> <head> <title>Sistema de Vendas Microtools</title> <!-- css com os estilos padões da biblioteca ExtJs --> <link rel="stylesheet" type="text/css" href="Layout/css/ext-all.css"/> <!-- css com o tema da página --> <link rel="stylesheet" type="text/css" href="Layout/css/xtheme-aero.css"/> <!-- css com os estilos personalizados --> <link rel="stylesheet" type="text/css" href="Layout/css/layoutPagina.css"/> </head> <!-- Mensagem "Aguarde..." durante o carregamento da página --> <div id="loading-mask"> </div> <div id="loading"> <div class="loading-indicator"><img src="Layout/images/default/grid/loading.gif" style="width:16px;height:16px;" align="middle"/> Carregando...</div> </div> <!-- Incluindo bibliotecas ExtJs e YUI --> <script type="text/javascript" src="js/ext/ext-base.js"></script> <script type="text/javascript" src="js/ext/ext-all.js"></script> <script type="text/javascript" src="js/ext/ext-lang-pt_br.js" charset="utf-8"></script> <!-- Script responsavel pelo login --> <script type="text/javascript" src="js/my/login.js"></script> <!-- Script responsavel por fechar a mensagem de "Aguarde..." apos o carregamento dos Scrips anteriores (pode demorar um pouco !) --> <script type="text/javascript" src="js/my/fimLoad.js"></script> <style type="text/css"> .pngTransp{ width:80px; height:80px; position:absolute; margin-left:70%; background:url(Layout/images/default/shared/usuarios.png) no-repeat center center; _background:none!important; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='Layout/images/default/shared/usuarios.png',sizingMethod='scale'); } .divPos{ position:absolute; margin-left:70%; } </style> <body> <div id="loginDlg" style="visibility:hidden;position:absolute;top:0px;"> <div class="x-dlg-hd">Sistema de Vendas Microtools - Login</div> <div class="x-dlg-bd"> <div id="loginImg" class="pngTransp"></div> <br /> <div id="myForm" style="margin-top:5%; width:98%;"></div> </div> </div> </div> </body> </html>Codigo do Formulario: login.js/*************** Autor: Willian de Carvalho e-mail: williandecarvalho@yahoo.com.br Arquivo: login.js Projeto: vendas Criação: 04-11-2007 Alteração: 07-12-2007 Objetivo: Script para criar o formulario de login ***************/ //Criando namespace Ext.namespace('vendas'); vendas.login = function(){ //Criando métodos publicos return { //Método construtor da classe init: function(){ //Variavel Utilizada para exibir o formulario var dialog; //Exibir mensagem de alerta nos campos texto Ext.QuickTips.init(); //Posicionamento das mensages de alerta Ext.form.Field.prototype.msgTarget = 'side'; //Redimensionando Imagem no formulario (caso não seja Internet Explorer) if (!Ext.isIE) { var divImg = Ext.get('loginImg'); divImg.insertHtml('afterBegin', '<img style="widht:80px; height:80px;" src="Layout/images/default/shared/usuarios.png" />'); divImg.removeClass('pngTransp'); divImg.addClass('divPos'); } //Criando fomulario var myForm = new Ext.form.Form({ labelAlign: 'right', labelWidth: 75, buttonAlign: 'center', url: 'preLogin.php' }); //Criando campo login var myForm_login = new Ext.form.Field({ fieldLabel: 'Login', name: 'login', id: 'login', width: 100, allowBlank: false }); //enviando os dados var myForm_senha = new Ext.form.Field({ fieldLabel: 'Senha', name: 'senha', id: 'senha', inputType: 'password', width: 100, allowBlank: false }); //Adicionando textFild's criados ao formulario myForm.add(myForm_login, myForm_senha); //Renderizando o formulario myForm.render('myForm'); //Testa se não existe outra instancia do formulario if (!dialog) { dialog = new Ext.BasicDialog("loginDlg", { modal: true, width: 300, height: 160, shadow: true, resizable: false, proxyDrag: true }); //Adiciona um botão ao formulario com o evento definido dialog.addButton('Entrar', entrar, dialog); } //Exibe o formulario dialog.show(); //Caso o formulario seja fechado redireciona para a pagina novamente dialog.on('hide', function(){ window.location = 'index.php'; }); //Funcão chamada peo evento do botão do formulário function entrar(){ //Testa se o valor nos campos do formulario é valido if (myForm.isValid()) { //Envia os valores do formulario myForm.submit({ //Mensagem de espera waitMsg: 'Autenticando usuário...', //Limpa os campos após o submit reset: false, //Método chamado em caso se sucesso na comunicação success: ajax.success, //Método chamado em caso de falha na comunicação failure: ajax.failure }); } else { //Mensagem de erro caso algum campo apresente falha de validação Ext.MessageBox.alert('Login - Erro', 'Preencha corretamente seus dados de login.'); } }; //Metodos utilizados pelo evento de envio do fomulario var ajax = { success: function(form, action){ window.location = "login.php"; }, failure: function(form, action){ Ext.MessageBox.alert('Login - Erro', 'Dados de login inválido, favor forneca seu dados de login corretamente.'); } }; } }; } (); //Adicionado a classe ao manipulador de eventos da ext, sendo instanciada quando o documento é carregado Ext.EventManager.onDocumentReady(vendas.login.init, vendas.login, true);por fimo codigo oho para o login login.php<?php include "scripts/AcessConfig.inc"; $nLogin=$_POST["login"]; $nSenha=md5($_POST["senha"]); $tabela="usuario"; $sql = "SELECT * FROM $tabela WHERE login ='$nLogin' and senha ='$nSenha'"; //faz a seleção de informações na tabela. $res=mysql_query($sql,$conn) or die (mysql_error()); $userValido=mysql_num_rows($res); if($userValido<1){ echo "Deu erro!<br>"; echo "Usuario: $nLogin<br>"; echo "Senha : ".$_POST['senha']."<br>"; echo "Sql: $sql<br>"; //header("Location: acessoerro.htm"); }else{ session_name("vendas"); session_start(); $_SESSION["se_iduser"] = "$idUs"; $_SESSION["se_cargo"] = "$cUs"; header("Location: cadastro.php"); } ?>o resultado é o seguinte:
digito usuario: itibere
senha: 1234
resulta em :
eu já olhei no goole, e na documenteção do ext, e ta tudo certo, mas o php não consegue pegar os dados do form.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.