Comunidad de diseño web y desarrollo en internet online

Problema con login de usuarios (flash, php, mysql)

Citar            
MensajeEscrito el 17 Sep 2008 03:54 pm
Segui los pasos del tutorial: http://www.cristalab.com/tutoriales/157/login-en-flash-con-usuario-y-contrasena.html
pero me tira "Error en el Script" (antes me daba error en la conexión, pero se solucionó).

Dejo los detalles de los archivos para que vean si hay algun error.

connect.php

Código :

<?php
      $hostname_conn  = "localhost";//servidor donde corre mysql
      $database_conn  = "[i]nombredelabase[/i]_test";//base de datos
      $username_conn = "[i]nombredelabase[/i]";//usuario de  mysql
      $password_conn = "[i]password[/i]";//pass de mysql
      //la conexion
      $conn = mysql_pconnect($hostname_conn, $username_conn,  $password_conn) or die(mysql_error());
?>



consulta.php

Código :

<?php
      $action = $HTTP_POST_VARS['action'];
      $username = $HTTP_POST_VARS['username'];
      $password = $HTTP_POST_VARS['password'];
      require_once('connect.php'); //llamada a la conexion
      mysql_select_db($database_conn, $conn); //selecciona la db
      if ($action == 'login'){
          $sql = mysql_query("SELECT password,tipo FROM usuarios WHERE username='".$username."'");
          if (!$sql) {
              die('Could not query:' . mysql_error());
          }
          $sql2 = mysql_fetch_row($sql);
          if (!$sql2){
              //no existe usuario
              echo 'no existe usuario<br>';
              ?>&opcion=0&<?
          } else{
               if ($password !== $sql2[0]){
                  //no coincide pass
                  echo 'el pass no coincide<br>';
                  ?>&opcion=1&<?
               } else{
                   //usuario y pass correctos
                   echo 'datos correctos<br>';
                   ?>&opcion=2&
                   &tipo=<? echo $sql2[1]; ?>&<?
               }
           }
           mysql_close($conn);
      }
?>


Action script en el 1er frame:

Código :

stop();
var envio:LoadVars = new LoadVars();
var recibir:LoadVars = new LoadVars();
function login() {
   envio.username = username_txt.text;
   envio.password = password_txt.text;
   envio.action = "login";
   envio.sendAndLoad("consulta.php", recibir, "POST");
}
recibir.onLoad = function(exito) {
   if (exito) {
      switch (this.opcion) {
      case "0" :
         mensaje_txt.text = "no existe el usuario";
         break;
      case "1" :
         mensaje_txt.text = "nombre de usuario o pass mal ingresado";
         break;
      case "2" :
         mensaje_txt.text = "datos correctos";
         //acá pueden agregar acciones para los registrados
         break;
      default :
         mensaje_txt.text = "no hay conexión";
         break;
      }
   } else {
      mensaje_txt.text = "Error en el Script";
   }
};


Actionscript del botón LOGIN:

Código :

on (release){
   login();
   mensaje_txt.text =  "Conectando...";
}


Lo tengo subido en: http://www.novedadesdhl.com/login/

Alguna sugerencia?

Por Argento1982

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Sep 2008 05:17 pm
La consulta está apuntando a localhost, que es donde lo desarrollaste. Cambia la ruta al PHP a la url de tu host, o mejor aún, a una ruta relativa

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Sep 2008 06:02 pm
Hola! gracias por la respuesta.. pero ya probé con ruta exacta (http://www.novedadesdhl.com/login/consulta.php) y con ruta relativa (que en este caso es "consulta.php" sólo, porque están en el mismo directorio)... y nada! mismo error. :(

Por Argento1982

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Sep 2008 06:09 pm
Ahora tu PHP (en la versión en línea) dice:

Could not query:Unknown column 'tipo' in 'field list'

Chequea que tu tabla en la BD tenga la columna tipo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Sep 2008 06:20 pm
Muchas gracias jorge!!! ahora funciona perfecto!! sos un genio! Eliminé el campo "tipo" del php y listo.. no sé porque estaba ahi.
Ahora, necesito evolucionar un paso más..
Cada usuario va a tener un campo que indica un pais, por lo cual, segun cada usuario te lleva a una pelicula X diferente segun cada pais.
Hay alguna forma de hacer esto de forma sencilla??
Desde ya muchas gracias por toda la ayuda!

Por Argento1982

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Sep 2008 06:33 pm
Supongo que el usuario selecciona el país en tu peli de flash ... entonces simplemente guardas la selección en una variable, y cuando hace el login correcto, vas a esa peli. Si es algo que tiene guardado en la BD, entonces agrega a la respuesta del login el campo país y luego lo mismo para cuando recibes la respuesta. Para todo esto debes estar familiarizado con el objeto LoadVars (tutos en este mismo sitio o en http://www.flash-db.com/Tutorials/loading/ )

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 31 Jul 2009 10:51 am
Hola! tngo el mismo problema que ayudastes a resolver a un joven. se trata del Login y Pass. he estado leyendo los post que pusisteis pero ... no logro hacer que funcione siempre me da error en el script. te pongo los codigos que tengo puestos.

flash:

Código ActionScript :

on (release){ 
   login(); 
   mensaje_txt.text = "conectando..."; 
} 

stop();
var envio:LoadVars = new LoadVars();
var recibir:LoadVars = new LoadVars();
function login() {
   envio.username = username_txt.text;
   envio.password = password_txt.text;
   envio.action = "login";
   envio.sendAndLoad("http://localhost/consulta.php",recibir,"POST");
}
recibir.onLoad = function(exito) {
   if (exito) {
      switch (this.opcion) {
         case "0" :
            mensaje_txt.text = "no existe el usuario";
            break;
         case "1" :
            mensaje_txt.text = "nombre de usuario o pass mal ingresado";
            break;
         case "2" :
            mensaje_txt.text = "datos correctos";
            //acá pueden agregar acciones para los registrados 
            break;
         default :
            mensaje_txt.text = "no hay conexión";
            break;
      }
   } else {
      mensaje_txt.text = "Error en el Script";
   }
};

php:

<?php
// by ketchup [email protected]

$action = $HTTP_POST_VARS['action'];
$username = $HTTP_POST_VARS['username'];
$password = $HTTP_POST_VARS['password'];

require_once('connect.php');
mysql_select_db($database_conn, $conn);

if ($action == 'login'){
$sql = mysql_query("SELECT password FROM usuarios WHERE username='".$username."'");
if (!$sql) {
die('Could not query:' . mysql_error());
}
$sql2 = mysql_fetch_row($sql);
if (!$sql2){
//no existe usuario
echo 'no existe usuario<br>';
?>&opcion=0&<?
}else{
if ($password !== $sql2){
//no coincide pass
echo 'el pass no coincide<br>';
?>&opcion=1&<?
}else{
//usuario y pass correctos
echo 'datos correctos<br>';
?>&opcion=2&<?
}
}
mysql_close($conn);
}
?>

<?php
$hostname_conn = "localhost";
$database_conn = "mi_db";
$username_conn = "nom";
$password_conn = "pass";
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or die(mysql_error());
?>


muchas gracias de antemano.

un saludo.

Enrique

Por ehiguero

1 de clabLevel



 

msie8
Citar            
MensajeEscrito el 31 Jul 2009 11:02 am
El echo debería decir:

Código :

   echo 'msg=el pass no coincide&opcion=1';
else{
//usuario y pass correctos
  echo 'msg=datos correctos&opcion=2&'; 


Así como est
a formateado Flash no lo entiende

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 31 Jul 2009 11:15 am
Gracias x responder tan rapidamente, he puesto el codigo del echo tal y como me lo has dicho y me sigue dando error en el script.

Por ehiguero

1 de clabLevel



 

msie8
Citar            
MensajeEscrito el 31 Jul 2009 11:27 am
Hardcodea el user y pass en el PHP, cárgalo directamente en el navegador y chequea que te de bien los mensajes (tanto para error como para acierto)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Ago 2009 07:24 am
Hola de nuevo.
$action = "login";
$username = "1";
$password = "1";

dandole el valor a las variables de forma manual con los valores de que tengo almacenados en la base de datos me dice que los datos son correctos opcion 2 pero cuando lo ejecuto desde el flash me da error en el script siempre no se porque

Enrique

Por ehiguero

1 de clabLevel



 

msie8
Citar            
MensajeEscrito el 03 Ago 2009 11:06 am
siempre me da error en el script.


¿Que error?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Sep 2009 04:31 pm
tengo el mismo error, el problema es que no sé que error sea, solo dice error en el script

gracias

Por woi62

3 de clabLevel



 

Barcelona | México DF

firefox
Citar            
MensajeEscrito el 18 Sep 2009 04:35 pm
The neverending "login/pass" thread, save a bird an POST your own

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Sep 2009 10:00 pm
Disculpen, el tutorial mencionado se ve genial pero en my cpanel al crear la tabla me pregunta otras cosas que desgraciadamente desconosco como longitud/valores, predeterminado cotejamiento atributos y el tuto no me dice que va en esos campos je je y apenas estoy entendiendo esto de las bases de datos, creen que podrian hecharme la mano en que poner ahi para poder crear mi tabla y continuar con el tutorial, Gracias

Por luizel

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2011 03:01 am
Estimados, hoy día me encuentro con ese tutorial y mi problema es el siguiente

cuando publico el FLA, veo los campos a completar Username y Password.
ahora bien, ya sea que deje los campos vacíos, ponga cualquier cosa en ellos o ponga los datos correctos... siempre en el campo de texto dinámico, donde me indica el estado, me dice datos correctos.

Yo creo que el problema lo tengo en el PHP, donde están todos esos IF
comento que hice exactamente todo lo que dice ese tuto, pero en algo la estoy pifiando.

Agradecería que me tiren un salvavidas hice varias pruebas, pero iba de mal en peor.
No pongo el AS ni el PHP ya que son los mismo del tuto, cambian en la conexión donde ingreso los datos de mi base de datos.


Desde ya mil gracias a todos!

Por PX10

70 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Feb 2012 09:40 pm
Alguien me puede dar una mano con esto?
Ingrese lo que ingrese en cualquier campo, siempre me dice que los datos son correctos.

Por favor, necesito poder resolverlo.

Mil gracias!

Por PX10

70 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Feb 2012 10:19 pm
Hombre, si desde agosto estás con esto vamos lento. No leí el tuto, pero supongo que si, el problema es donde están todos esos if ... o toda esa programación, bah.
Tip: si usas un sniffer como charlesproxy.com, podrás ver tanto la info que sale como la que entra a tu swf

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Ene 2013 09:23 pm
El error que me da a mi dice no hay conexion, alguien que me ayude

Por femilsc

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Ene 2013 09:29 pm
Ok, mucho enganche, tema cerrado.
Si leen este POST y quieren preguntar lo mismo, abran uno nuevo y cítenlo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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