Comunidad de diseño web y desarrollo en internet online

Problema con "Login en Flash con usuario y contraseña"

Citar            
MensajeEscrito el 20 Mar 2009 11:42 pm
Creo que he seguido todos los pasos correctamente pero cuando pruebo los archivos en el servidor aparece el texto "no hay conexión".

Les detallo la información de cada uno de los archivos para que vean si alguien encuentra donde está el error.

Archivo: login.fla

stop();
Stage.scaleMode = "noScale";
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";
switch (this.tipo){
case "0" :
gotoAndStop(2);
break;
case "1" :
default :
mensaje2_txt.text = "no tienes tipo de usuario";
break;
}
break;
default :
mensaje_txt.text = "no hay conexión";
break;
}
} else {
mensaje_txt.text = "Error en el Script";
}
};


Archivo: connect.php

<?php
$hostname_conn = "localhost";
$database_conn = "uv0036_usuarios";
$username_conn = "uv0036";
$password_conn = "sire150mar";
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or die(mysql_error());
?>


Archivo: consulta.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,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);
}
?>


Muchas gracias por la ayuda. Realmente ya he leísdo el código y el tutorial tantas veces que no puedo seguir más.
Saludos.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Mar 2009 12:41 am
Tus datos para la conexion de la base de datos son correctos? revisa si estan bien escritos.

tambien prueba cambiando consulta.php por este:

Código PHP :

<?php 
   $action = $_POST['action']; 
   $username = $_POST['username']; 
   $password = $_POST['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>'; 
         echo '&opcion=0&'; 
      } else{ 
         if ($password !== $sql2[0]){ 
            //no coincide pass 
            echo 'el pass no coincide<br>'; 
            echo "&opcion=1&"; 
         } else{ 
            //usuario y pass correctos 
            echo 'datos correctos<br>'; 
            echo "&opcion=2&\n"; 
            echo "&tipo=" . $sql2[1] . "&"; 
         } 
      } 
      mysql_close($conn); 
   }else{ 
      echo "No params"; 
   } 
?>


Ejecuta a consulta.php desde el navegador y ve que errores te manda.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 21 Mar 2009 04:40 pm
Gracias por la ayuda. Revisé los parámetros pero el error de "sin conexión" continúa. Esto es lo que hice:

"Tus datos para la conexion de la base de datos son correctos? revisa si estan bien escritos."

Supongo que se refiere a:

$hostname_conn = "localhost";
$database_conn = "uv0036_usuarios";
$username_conn = "uv0036";
$password_conn = "sire150mar";

Son los nombres de la base de datos y el nombre de usuario y la clave para acceder. Mi única duda era seguir manteniendo la variable "localost"; pero supongo que como la Base de Datos está alojada en el mismo servidor que el resto del sitio esto es correcto. Además todos los archivos están en la misma carpeta dentro del host (el .swf, el .html que lo contiene y los .php)


"tambien prueba cambiando consulta.php por este:"

Lo hice. Cambié mi consulta.php por el nuevo sugerido.


"Ejecuta a consulta.php desde el navegador y ve que errores te manda."

Lo ejecuté dentro del Firefox y el resultado es el siguiente:

'; echo '&opcion=0&'; } else{ if ($password !== $sql2[0]){ //no coincide pass echo 'el pass no coincide
'; echo "&opcion=1&"; } else{ //usuario y pass correctos echo 'datos correctos
'; echo "&opcion=2&\n"; echo "&tipo=" . $sql2[1] . "&"; } } mysql_close($conn); }else{ echo "No params"; } ?>

Luego subí el archivo nuevo al servidor pero sigue apareciendo el error "sin conexión" cuando intento ingresar cualquier id/password en el .swf (sean correctos o no).

Sigamos intentando, yo no bajo los brazos. Me parece que cada nuevo intento es un poco más de aprendizaje. Y gracias otra vez por la ayuda. Saludos.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Mar 2009 04:42 pm
Se me ocurrió poner el link donde funciona el acceso por las dudas que alguien encuentre el error ahí. El panel de acceso está en:

http://escueladesirenas.com.ar/carrito.html

Si sirve de algo... todo será bien agradecido. Saludos.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Mar 2009 08:13 pm
Hola, me saca un error:

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

Lo que significa que el campo no se llama password, revisa bien esos nombres en la definicion de tu Tabla

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 23 Mar 2009 08:19 pm
Por cierto, si esta sobre algun servidor, ellos te dicen cual es la forma de conectar con la BD, por ejemplo:

Código PHP :

$hostname_conn = "mysql5.tuweb.com";


o

Código PHP :

$hostname_conn = "www.tuweb.com:3306";

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 23 Mar 2009 10:40 pm
Gracias por seguir respondiendo. Sigo con problemas.

Consulté con el Servicio Técnico del alojamiento y me dieron un par de opciones de conexión para la BD pero ninguna funcionó.

Con respecto a:

"Could not query:Unknown column 'password' in 'field list - Lo que significa que el campo no se llama password, revisa bien esos nombres en la definicion de tu Tabla"

Perdón, pero no entiendo bien donde revisar. Supongo que en los .php. ¿O es el el .fla? Podrían detallarme bien qué cosa revisar? Gracias. Sigo trabajando para solucionarlo. Saludos.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Mar 2009 10:44 pm
Subí una captura de imagen de la Base de Datos para ver si puede ser una referencia válida a la solución del problema.



http://i41.tinypic.com/2s79tma.jpg

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Mar 2009 11:13 pm
U_U Justo lo que pense, tus campos se llaman asi:

us_id
us_login
us_pass

Cambia tu query SQL por esta:

Código PHP :

"SELECT us_pass FROM usuarios WHERE us_id = '$username'"

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 24 Mar 2009 08:00 pm
Sigo intentando pero el cartel de "sin conexión" sigue apareciendo...

Modifiqué mi archivo consulta.php con los datos que me indicaron y el resultado final es este:

<?php
$action = $_POST['action'];
$username = $_POST['username'];
$password = $_POST['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 us_pass FROM usuarios WHERE us_id = '$username'");
if (!$sql) {
die('Could not query:' . mysql_error());
}
$sql2 = mysql_fetch_row($sql);
if (!$sql2){
//no existe usuario
echo 'no existe usuario<br>';
echo '&opcion=0&';
} else{
if ($password !== $sql2[0]){
//no coincide pass
echo 'el pass no coincide<br>';
echo "&opcion=1&";
} else{
//usuario y pass correctos
echo 'datos correctos<br>';
echo "&opcion=2&\n";
echo "&tipo=" . $sql2[1] . "&";
}
}
mysql_close($conn);
}else{
echo "No params";
}
?>

Difiere además del original del tutorial porque lo modifiqué como me indicaron en la respuesta del 21 Mar 2009. ¿La nueva modificación era sobre el archivo original o sobre el ya modificado? Supongo que es lo mismo pero ante la duda prefiero preguntar.

:oops: Sigamos trabajando que ya me entusiasmé y quiero hacerlo funcionar. Muchas gracias.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Mar 2009 10:45 pm
tu archivo php ya funciona correctamente, ya lo probe y me regreso:

Código :

no existe usuario
&opcion=0&


Ahora modificalo por este:

Código PHP :

<?php
$action = $_POST['action'];
$username = $_POST['username'];
$password = $_POST['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 us_pass FROM usuarios WHERE us_id = '$username'");
   if (!$sql) {
      die('Could not query:' . mysql_error());
   }
   $sql2 = mysql_fetch_row($sql);
   if (!$sql2){
      //no existe usuario
      echo 'opcion=0';
   } else{
      if ($password !== $sql2[0]){
         //no coincide pass
         echo "opcion=1";
      } else{
         //usuario y pass correctos
         echo "opcion=2&";
         echo "tipo=" . $sql2[1];
      }
   }
   mysql_close($conn);
}else{
   echo "No params";
}
?>


Asegurate que tu swf este conectando con el archivo php correcto

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 25 Mar 2009 10:23 pm
Revisé todo y parecen conectar correctamente. Es una alegría haber cambiado el error de "sin conexión" a "no existe el usuario". Para mi es un gran avance. ¿Seguimos probando?

Les detallo como han quedado los archivos después de las modificaciones:

connect.php

<?php
$hostname_conn = "localhost";
$database_conn = "uv0036_usuarios";
$username_conn = "uv0036";
$password_conn = "sire150mar";
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or die(mysql_error());
?>


consulta.php

<?php
$action = $_POST['action'];
$username = $_POST['username'];
$password = $_POST['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 us_pass FROM usuarios WHERE us_id = '$username'");
if (!$sql) {
die('Could not query:' . mysql_error());
}
$sql2 = mysql_fetch_row($sql);
if (!$sql2){
//no existe usuario
echo 'opcion=0';
} else{
if ($password !== $sql2[0]){
//no coincide pass
echo "opcion=1";
} else{
//usuario y pass correctos
echo "opcion=2&";
echo "tipo=" . $sql2[1];
}
}
mysql_close($conn);
}else{
echo "No params";
}
?>


login.swf

stop();
Stage.scaleMode = "noScale";
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";
switch (this.tipo){
case "0" :
gotoAndStop(2);
break;
case "1" :
default :
mensaje2_txt.text = "no tienes tipo de usuario";
break;
}
break;
default :
mensaje_txt.text = "no hay conexión";
break;
}
} else {
mensaje_txt.text = "Error en el Script";
}
};


Quizás el error esté en la base de Datos. Estoy revisando eso pero sin resultados. Vuelvo a poner una imagen de la BD pero detallando las secciones.

Browse




Insert




Operations




Search




SQL




Structure




Y siguen los agradecimientos. Con paciencia se que va a funcionar.
^^

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Mar 2009 12:41 am
Hola, actualiza esta foto http://i43.tinypic.com/r9rkuw.png, para verla de nuevo.

Ahora cambia esta linea:

Código PHP :

mysql_query("SELECT us_pass FROM usuarios WHERE us_id = '$username'");


Por esta:

Código PHP :

mysql_query("SELECT us_pass FROM usuarios WHERE us_login = '$username'");

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 26 Mar 2009 05:26 pm
Gracias por los últimos datos. Creo que ya estamos cerca de la solución y el problema está en la Base de datos creada incorrectamente. [Aviso que no tengo nada de experiencia en eso, perdón]

El .swf conecta pero hemos cambiado el error a "datos correctos - no tienes tipo de usuario", lo cuál es un enorme avance.

Actualizo la foto que me habías pedido. La vista actualizada es esta:

BD - Browse




Además cambié el código incorrecto por este:

mysql_query("SELECT us_pass FROM usuarios WHERE us_login = '$username'");

y funcionó perfectamente. Gracias por todo. Sigo aprendiendo.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Mar 2009 07:18 pm
¿Entonces que falta?

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 26 Mar 2009 08:00 pm
El nuevo código: mysql_query("SELECT us_pass FROM usuarios WHERE us_login = '$username'"); conecta con la Base de forma correcta pero aparece el error "datos correctos - no tienes tipo de usuario"

Como no tengo experiencia en Bases de datos, solo deduzco que el error puede estar allí (en la base) pero no se como seguir adelante para solucionarlo. ¿Podrás ayudarme con eso?
Muchas gracias.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Mar 2009 08:10 pm
ok, voy a hacer pruebas y te informo.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 26 Mar 2009 08:13 pm
Gracias. Si puede servirte para algo puedo pasarte los datos de acceso de la Base de Datos en forma privada (me parece un poco arriesgado hacerlos públicos aquí en el foro) para que puedas probar con más comodidad.
Saludos.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Mar 2009 08:15 pm
No te preocupes, con la imagen de los users y passwords tengo para hacer las pruebas

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 27 Mar 2009 01:03 am
El error esta aqui:

Código PHP :

else{
//usuario y pass correctos
echo "opcion=2&";
echo "tipo=" . $sql2[1];
} 


$sql2[1] apunta a algo que no existe, ¿Porque? porque la querry "SELECT us_pass " solo selecciona un solo campo us_pass, en el ejemplo incial debia ser "SELECT us_pass,us_tipo FROM usuarios WHERE us_login = '$username'" ¿entiendes? falta un campo en la base de datos llamado "us_tipo" ese tipo define por ejemplo si es administrador, o si es moderador, o cosas por el estilo, si quieres omitir eso y no crear un nuevo campo en la tabla, entonces puedes simplemente modificar el php asi:

Código PHP :

else{
//usuario y pass correctos
echo "opcion=2&tipo=0";
} 


y el as:

Código ActionScript :

case "2" :
   mensaje_txt.text = "datos correctos";
   gotoAndStop(2);
break;


Listo. Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 27 Mar 2009 04:59 pm
Hice la modificación en consulta.php y quité el código que sobraba. Preferí hacer eso a modificar la base de datos. El resultado final es este:

<?php
$action = $_POST['action'];
$username = $_POST['username'];
$password = $_POST['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 us_pass FROM usuarios WHERE us_login = '$username'");
if (!$sql) {
die('Could not query:' . mysql_error());
}
$sql2 = mysql_fetch_row($sql);
if (!$sql2){
//no existe usuario
echo 'opcion=0';
} else{
if ($password !== $sql2[0]){
//no coincide pass
echo "opcion=1";
} else{
//usuario y pass correctos
echo "opcion=2&";
}
}
mysql_close($conn);
}else{
echo "No params";
}
?>


Pero al modificar el código en el archivo login.fla y dejar este:

case "2" :
mensaje_txt.text = "datos correctos";
gotoAndStop(2);
break;

el .swf que genera es un loop que pasa del frame 1 al 2 constantemente. Probé poniendo un stop en el frame 2 pero además de tirar un error, la animación se detiene ahí (en el 2) y no tiene así ninguna función.

Los errores son los siguientes:

Scene=Escena 1, layers=actions, frame1, Line30 'case' statements can only be used inside of a 'switch' statement
Scene=Escena 1, layers=actions, frame1, Line33 Unexpected '}' encountered


El archivo final login.fla aunque no funciona, ahora es este:

stop();
Stage.scaleMode = "noScale";
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";
gotoAndStop(2);
break;
case "1" :
default :
mensaje2_txt.text = "no tienes tipo de usuario";
break;
}
break;
default :
mensaje_txt.text = "no hay conexión";
break;
}
} else {
mensaje_txt.text = "Error en el Script";
}
};


Estoy seguro que estamos cerca. Sigo agradeciendo y ya estoy pensando en enviarles algún regalo. :oops:

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Mar 2009 06:10 pm
Es un problema con switch, esta mal escrito, espacea tu codigo y date cuenta donde te sobra codigo del switch que borraste, ademas se te escapa una }

Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 27 Mar 2009 07:40 pm
FUNCIONÓ!!!!!!


:lol:


Esto era lo que estaba tratando de escribir desde hace tantos días!!!! La verdad no tengo palabras para agradecer tanta paciencia y dedicación. Les estoy enormemente agradecido.
Gracias a LongeVie por toda la onda puesta en solucionar el problema. Un abrazo grande.

Por elosodemoris2

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Mar 2009 08:45 pm
Prefecto, ^^

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 19 Oct 2009 07:40 pm
y esto de espacea el codigo que significa?

Por alvaromartinez

23 de clabLevel



 

msie8
Citar            
MensajeEscrito el 20 Oct 2009 02:15 am

alvaromartinez escribió:

y esto de espacea el codigo que significa?
bueno, en realidad debi escribir, tabula.

ves esto:

Stage.scaleMode = "noScale";
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" :

comparalo con esto:

Código :

Stage.scaleMode = "noScale";
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;
      }
   }
}

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 20 Oct 2009 08:10 am
ok, entoces el as del flash solo debe de ser esto? el reesto habria que quitarlo? ayer conseguí que no se abra y cierre consecutivamente con este escript, entonces he de cambiar este por el que me ha escrito usted?

Código ActionScript :

stop();
Stage.scaleMode = "noScale";
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";
gotoAndStop(2);
break;
case "1" :
default :
mensaje2_txt.text = "no tienes tipo de usuario";
break;         
//default : 
mensaje_txt.text = "no hay conexión";
break; 
}
} else {
mensaje_txt.text = "Error en el Script";
}
};



stop();
Stage.scaleMode = "noScale";
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";
gotoAndStop(2);
break;
case "1" :
default :
mensaje2_txt.text = "no tienes tipo de usuario";
break;
//default :
mensaje_txt.text = "no hay conexión";
break;
}
} else {
mensaje_txt.text = "Error en el Script";
}
};

aunque sigo con el problema de "conectando.....", "no tienes tipo de usuario", pero siguiendo sus pasos ya no me da el error de "no hay conexion", mas bien creo que me viene del phpmyadmin, aunque tambien he seguido todos los pasos, he modificado sus consultas, he creado tablas nuevas y nada, llevo casi dos semanas asi, he probado un monton de login de toda la red y sigo igual, he cargado un foro smf para probar y va de coña, asi que del servidor nada, todo lo tengo colgado en hosting de pago (linux, php5,etc..), me baje de una web de italia un login completo con un monton de opciones, con la tabla.sql, etc pero no me da ni un error, ya no se que hacer estoy desesperado porque ya me urge. gracias

Por alvaromartinez

23 de clabLevel



 

msie8
Citar            
MensajeEscrito el 20 Oct 2009 08:34 am
siento haber puesto es el script dos veces (eso pasa por no revisar el mensaje antes de publicarlo) por cierto pongo el enlace del login que he comentado por si interesa, se puede descargar el archivo esta en

con el google traductor
[url=http://translate.google.es/translate?hl=es&langpair=en|es&u=http://www.sephiroth.it/tutorials/flashPHP/authentication/page003.php&prev=/translate_s%3Fhl%3Des%26q%3Dlogin%2Bphp%2Bcon%2Bflash%26sl%3Des%26tl%3Den][/url]

en ingles
[url=http://www.sephiroth.it/tutorials/flashPHP/authentication/][/url]

es muy completo si alguien le interesa y quiere ponerlo en un tutorial los novatos estariamos muy agradecidos..

Gracias

Por alvaromartinez

23 de clabLevel



 

msie8
Citar            
MensajeEscrito el 21 Oct 2009 06:16 pm
Hola LongeVie me podrias echar una mano por favor que me he quedado atrancado en conectando... no tienes tipo de usuario. y de aqui no salgo y he probado todo.

Un saludo

Por alvaromartinez

23 de clabLevel



 

msie8
Citar            
MensajeEscrito el 21 Oct 2009 07:59 pm
Dejo los script que tengo.
login.fla

Código ActionScript :

stop();
Stage.scaleMode = "noScale";
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";
         gotoAndStop(2);
         break;
           case "1" :
         default : 
     mensaje2_txt.text = "no tienes tipo de usuario";
         break; 
//} [b]//ESTO LO HE QUITADO PARA QUE NO ME HAGA UN LOOP[/b]
         break;
//default : [b]//ESTO LO HE QUITADO PARA QUE NO ME HAGA UN LOOP[/b]
     mensaje_txt.text = "no hay conexión";
         break; 
   }
} else {
     mensaje_txt.text = "Error en el Script";
   }
};


connect.php

Código PHP :

<?php
$hostname_conn = "dbxxx.xxxxx.xx";
$database_conn = "db30110xxxx";
$username_conn = "dbo30110xxxx";
$password_conn = "xxxcion";
$conn = mysql_connect($hostname_conn, $username_conn, $password_conn) or die(mysql_error());
?>


consulta.php

Código PHP :

<?php 
$action = $_POST['action']; 
$username = $_POST['username']; 
$password = $_POST['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 us_pass FROM usuarios WHERE us_login = '$username'"); 
if (!$sql) { 
die('Could not query:' . mysql_error()); 
} 
$sql2 = mysql_fetch_row($sql); 
if (!$sql2){ 
//no existe usuario 
echo 'opcion=0'; 
} else{ 
if ($password !== $sql2[0]){ 
//no coincide pass 
echo "opcion=1"; 
} else{ 
//usuario y pass correctos 
echo "opcion=2&"; 
} 
} 
mysql_close($conn); 
}else{ 
echo "No params"; 
} 
?>


Los campos del phpmyadmin son us_id, us_login, us_pass, los mismo que los del oso y la tabla usuarios esla siguiente..

campo: us_id
tipo: int
longitud: 10
cotejamiento:
Atributos:
Nulo: not null
Predeterminado:
Extra: autoincrement
Nombre de clave: PRIMARY KEY Tipo: PRIMARY Cardinalidad: 0 Campo: us_id

campo: us_login
tipo: VARCHAR
longitud: 100
cotejamiento: latin1_spanish_ci
Atributos:
Nulo: not null
Predeterminado:
Extra:
Accion: TEXTO COMPLETO

campo: us_pass
tipo: VARCHAR
longitud: 45
cotejamiento: latin1_spanish_ci
Atributos:
Nulo: not null
Predeterminado:
Extra:
Accion: TEXTO COMPLETO

TYPE: MYISAM

CONSULTA:
SELECT * FROM `usuarios` WHERE 1

Espero que sea esto de ayuda Gracias y un saludo.

Por alvaromartinez

23 de clabLevel



 

msie8

 

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