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
