Comunidad de diseño web y desarrollo en internet online

ayuda con login

Citar            
MensajeEscrito el 21 Oct 2005 01:14 am
hola , por favor necesito correciones para este codigo, me guié de un sample que viene con el flash 8. El problema es que no me puedo conectar con el servidor. o no obtengo respuesta del php.

Código :

var validlogin= validlogin_txt.text.selectable=false
var usernick = usernick_txt.text;
var userpass = userpass_txt.text;

userpass_txt.password = false;

entrar_btn.clickHandler = function() {
   checkForm();
};

var formListener:Object = new Object();
formListener.enter = function(evt) {
   checkForm();
};
usernick_txt.addEventListener("enter", formListener);
userpass_txt.addEventListener("enter", formListener);

Selection.setFocus(usernick_txt);

function checkForm() {
      if (usernick_txt.text.length == 0) {
      mensaje_txt.text = "Ingrese nick de usuario";
      Selection.setFocus(usernick_txt);
      return false;
      }
      if (userpass_txt.text.length == 0) {
      mensaje_txt.text = "Ingrese contraseña";
      Selection.setFocus(userpass_txt);
      return false;
      }
   
mensaje_txt.text = "";
   
var resultado_lv:LoadVars = new LoadVars();
var login_lv:LoadVars = new LoadVars();
   
login_lv.usernick = usernick_txt.text;
login_lv.userpass = userpass_txt.text;
   
login_lv.sendAndLoad("http://localhost/login/login.php", resultado_lv, "POST");
   
resultado_lv.onLoad = function(success:Boolean) {
      
   if (success) {         
         if (validlogin=="autorizado") {            
            mensaje_txt.text = "autorizado";
               } 
               else {
            mensaje_txt.text = "usuario o contraseña inválidos";            
            Selection.setFocus(usernick_txt);
            Selection.setSelection(usernick_txt.text.length);
         }
         
      } else {
         mensaje_txt.text = "Servidor ocupado";
            }
   };
   return true;
}


aquí el php:

Código :

<?php

/* igualamos las variables enviadas */
$usernick = $_POST['usernick'];
$userpass = $_POST['userpass'];
$validlogin=$_POST['validlogin'];


$db_conexion= mysql_connect("localhost","juliocesar","domi2003") or die("No se pudo conectar a la base ");

mysql_select_db("laboratorio"); /* aqui llamamos a la tabla */

//Consulta a la base de datos para un determinado nick de usuario y se extrae el iduser

$query="SELECT * from usuarios where usernick='".$usernick."'";
$result= mysql_query($query);
if ($row=mysql_fetch_array($result))
{
   if (("$userpass")==$row["userpass"])
         { 
             echo $validlogin="autorizado";
            echo $row["iduser"];             
          }      

   else
   { echo $validlogin="no autorizado"
   ;};
}

?>

mil gracias por sus respuestas.

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Oct 2005 04:52 am
:? donde esta tu archivo???...Si esta colgado en algún servidor deberías poner la dirección del servidor en donde esta, si esta en tu compu no debería llevar nada de localhost con el puro nombre del archivo php bastará(claro esta debes tener instalado php en tu compu).

Ahora bien en el código del archivo php note lo siguiente, bueno no e comprobado si es necesario, pero siempre hago esto:

Código :

$checado = mysql_query($query,$db_conexion);

Por choco

425 de clabLevel



Genero:Masculino  

Estado de México, México

firefox
Citar            
MensajeEscrito el 21 Oct 2005 07:09 am
Gracias por tu respuesta choco ;
tengo instalado php, apache y mysql.
todo funciona corectamente.
me refiero al servidor.

la ruta siempre va ser absoluta. porque el archivop.php está dentro de una carpeta.

la conxión con la base de datos tabbién funciona.

si cambio sendAndLoad por sólo "send", me funciona , pero se activa la pagina php.
y no me carga resultado en elarchivo login.swf.

el codigo php lo he ordenado como sigue.

Código :

<?php
$db_conexion= mysql_connect("localhost","jusuario","contraseña") or die("servidor ocupado");
mysql_select_db("laboratorio"); 
$query="SELECT * from usuarios where usernick='".$usernick."'";
$result= mysql_query($query);
if ($row=mysql_fetch_array($result))
{$iduser=$row["iduser"];
if (($userpass)==$row["userpass"])
{echo "usuario autorizado";
echo $iduser;
$confirmado=1;
print "$confirmado";
}   
else
{$confirmado=0;
print "$confirmado";
die ("no pasa nada");
};
};
?>

y el codifo AS:

Código :

import mx.controls.*;

var status_lbl:Label;
var usernick_ti:TextInput;
var userpass_ti:TextInput;

userpass_ti.password = true;

submit_btn.clickHandler = function() {
   checkForm();
};
var formListener:Object = new Object();
formListener.enter = function(evt) {
   checkForm();
};
usernick_ti.addEventListener("enter", formListener);
userpass_ti.addEventListener("enter", formListener);

Selection.setFocus(usernick_ti);

function checkForm() {
   
   if (usernick_ti.text.length == 0) {
      
      status_lbl.text = "Please enter user name";
      Selection.setFocus(usernick_ti);
      return false;
   }   

   if (userpass_ti.text.length == 0) {
      status_lbl.text = "Please enter password";
      Selection.setFocus(userpass_ti);
      return false;
   }
   
   status_lbl.text = "";
   var result_lv:LoadVars = new LoadVars();
   var login_lv:LoadVars = new LoadVars();
   login_lv.usernick = usernick_ti.text;
   login_lv.userpass = userpass_ti.text;
   login_lv.send("http://localhost/login/login2.php","POST");
   result_lv.onLoad = function(success:Boolean) {
         if (success) {
         if (this.confirmado == 1) {
            status_lbl.text = "login successful";
         } else {
            status_lbl.text = "invalid user name / password.";
            Selection.setFocus(usernick_ti);
            Selection.setSelection(0, usernick_ti.text.length);
         }
         } else {
         status_lbl.text = "Unable to connect to login URL";
         usernick_ti.enabled = false;
         userpass_ti.enabled = false;
         entrar_btn.enabled = false;
      }
   };
   return true;
}



Bueno eso es todo, espero me puedas ayudar.

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Oct 2005 08:02 am
El error está en el archivo PHP al momento de enviar la variable confirmado.

Intenta sustituyendo esto:

Código :

if ($row=mysql_fetch_array($result))
{$iduser=$row["iduser"];
if (($userpass)==$row["userpass"])
{echo "usuario autorizado";
echo $iduser;
$confirmado=1;
print "$confirmado";
}   
else
{$confirmado=0;
print "$confirmado";
die ("no pasa nada");
};
}; 


por esto:

Código :

$result= mysql_query($query,$db_conexion);
   echo "&confirmado=".mysql_num_rows($result);


No es muy necesario que hagas la comparación del usuario y el password con ese IF, por el momento con el SELECT bastará, en este caso si al hacer la selección del usernick en la base de datos no lo encuentrá regresara un valor diferente de 1 y al hacer la comparación en flash se revocará la petición.

Pruebalo y si no jala aqui andamos...chia estoy loco 3:28 a.m. y yo posteando en CLAB :lol: :lol: :lol:

Por choco

425 de clabLevel



Genero:Masculino  

Estado de México, México

firefox
Citar            
MensajeEscrito el 02 Nov 2005 12:18 am
Choco, gracias a tu ayuda , ya me resultó. pero ahora tengo otro problemita.
cómo hago para rescatar el contenido del campo username de mi tabla usuarios y mandarla al frame 5 del login.swf.? para poner un mensaje que diga. "bienvenido '$username'
"

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 02 Nov 2005 08:23 am
Eso es sencillo solo agrega en el frame 5 un texto dinámico le pones de nombre de instancia por ejemplo, bienvenida y agregas el siguiente código en el frame:

Código :

bienvenida.text="Bienvenido " +login_lv.usernick+ "\n haz iniciado sesión";


y listo!!...

Saludos!!! ^^

Por choco

425 de clabLevel



Genero:Masculino  

Estado de México, México

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.