Comunidad de diseño web y desarrollo en internet online

NO hay conexion

Citar            
MensajeEscrito el 17 Abr 2007 01:57 pm
Buen dia:

Soy bisoño en el asunto del PHP, espero puedan ayudarme.
Seguí todos los pasos del tutorial sobre como validar usuarios con "usuario" y "pasword" en el tutorial titulado "Login en Flash con usuario y contraseña", desde luego sustituyendo con los datos de mi base de datos MySQL en mi servidor y lo unico que me dice es que no hay conexion.

en php mi codigo ce connect.php:

<?php
$hostname_conn = "localhost";
$database_conn = "midb";
$username_conn = "betohre";
$password_conn = "hal9000";
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or die(mysql_error());
?>
mi codigo para la consulta php:

<?php

$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 contrasena,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);
}
?>

por supuesto los campos de la sentencia SELECT coinciden perfectamente con los datos de la base de datos, pero al conectar a través de Flash no entiendo como interactua. Mi codigo ActioScript 2.0 en Flash 8.0:

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" :
getURL("http://www.paradigmaantropologico.com/morf/morfpresen.html","_blanc","get")
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";
}
};

No encuentro donde esta inicializado el valor del parametro "exito", ni tampoco encuentro como php regresa a ActionScript el valor de ese parámetro, lo unico que si se es en ese valor no esta entre 0,1 ni 2 que son mis opciones de validacion del usuario y conraseña, podrian ayudarme. Gracias
Humberto Enriquez

:crap:

Por betohres

0 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 18 Abr 2007 01:52 am
hola!
Yo te sugeriria que la impresión en pantalla de errores los manejaras en Flash, por ejemplo, si no existe el usuario, en vez de poner

Código :

echo 'no existe';

, pongas

Código :

echo '&status=0';

y si son correctos pues &status=1. Al final deberas de generar una cadena asi como esta:

Código :

&status=0&opcion=1

ya en Flash agregas una condicion que sea:

Código :

if(Number(recibir.status)==0){
//tus acciones cuando no existe el usuario
}else{
//tus acciones cuando existe el usuario
}

El valor de 'exito', es mandado a la funcion cuando el archivo ha sido cargado.

Espero que esto te sirva, Saludos! :wink:

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 22 Ene 2009 09:36 pm
una cagada

Por segomel

70 de clabLevel



 

2006

msie7

 

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