Foros del Web » Programando para Internet » PHP »

Ayuda urgente !!!

Estas en el tema de Ayuda urgente !!! en el foro de PHP en Foros del Web. Hola, ojalá me puedan ayudar, tengo una página en Flash, a la que necesito meterle un Login para una zona protegida, ese login debe jalar ...
  #1 (permalink)  
Antiguo 10/05/2007, 09:32
 
Fecha de Ingreso: abril-2007
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Ayuda urgente !!!

Hola, ojalá me puedan ayudar, tengo una página en Flash, a la que necesito meterle un Login para una zona protegida, ese login debe jalar el usuario y contraseña de una base de datos en MySQL y, desde luego, el vínculo es PHP.

Llevo rato haciendo pruebas pero algo no me jala, ojalá alguien me pueda ayudar, les dejo los códigos:

Flash:
-----------------
Código:
stop();
Stage.scaleMode = "noScale";
var envio:LoadVars = new LoadVars();
var recibir:LoadVars = new LoadVars();
function login() {
envio.usuario = usuario_txt.text;
envio.contrasena = contrasena_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";
}
};



consulta.php
----------------------------
Código:
<?php

$action = $HTTP_POST_VARS['action'];
$usuario = $HTTP_POST_VARS['usuario'];
$contrasena = $HTTP_POST_VARS['contrasena'];

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

if ($action == 'login'){
$sql = mysql_query("SELECT contrasena FROM registros WHERE usuario='".$usuario."'");
if (!$sql) {
die('Could not query:' . mysql_error());
}
$sql2 = mysql_fetch_row($sql);
if (!$sql2){
//no existe usuario
echo 'no existe usuario<br>';
echo utf8_encode('&opcion=0'); 

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

Última edición por elcritico; 10/05/2007 a las 09:39
  #2 (permalink)  
Antiguo 10/05/2007, 09:39
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 9 meses
Puntos: 9
Re: Ayuda urgente !!!

Hola, sabes cual es el error o simplemente no hace nada. Puedes probar haciendo unos echo"" de usuario y contraseña para saber si las variables estan trayendo los valores, de todos modos cuando ejecutas la pagina que es lo que te aparece.
Salu2
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 10/05/2007, 09:40
 
Fecha de Ingreso: abril-2007
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Re: Ayuda urgente !!!

Es raro, con algunos usuarios (todos existentes), me dice que están incorrectos y con otros de plano me dice que no existen. El ejemplo está en artecinema.com.mx/test/login.html
  #4 (permalink)  
Antiguo 10/05/2007, 09:55
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 9 meses
Puntos: 9
Re: Ayuda urgente !!!

Hola, esta linea:
Código PHP:
if ($password !== $sql2[0]){
//porque no la colocas asi:
if ($password != $sql2[0]){ 
Reemplaza esto:
Código PHP:
$sql2 mysql_fetch_row($sql);
if (!
$sql2){
//no existe usuario
echo 'no existe usuario<br>';
echo 
utf8_encode('&opcion=0'); 

}
//por esto
$cantmysql_affected_rows();
echo
"Cantidad de filas devultas por la consulta: $cant";
if (
cant==0){
//no existe usuario
echo 'no existe usuario<br>';
echo 
utf8_encode('&opcion=0'); 

Reemplaza esas partes y contame, si $cant te devuelve cero, ya sabes que al usuario no lo encuentra por razones de como esta hecha la consulta, sino el problema esta en la comprobacion del password. Fijate y me decis. saludos
__________________
->Aprender es un proceso que incluye el error..
  #5 (permalink)  
Antiguo 10/05/2007, 10:00
 
Fecha de Ingreso: abril-2007
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Re: Ayuda urgente !!!

Ok, ya lo hice y me mandó "Error en el Script"
  #6 (permalink)  
Antiguo 10/05/2007, 10:10
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 9 meses
Puntos: 9
Re: Ayuda urgente !!!

Listo, entonces toda la parte de validacion del usuario esta bien hecha, ahora resta mirar la funcion recibir.onLoad = function(exito) que es la que te determino el mensaje error en el script.
Como funciona esta linea:
recibir.onLoad = function(exito) {
if (exito) {

De donde trae la variable exito su valor??
__________________
->Aprender es un proceso que incluye el error..
  #7 (permalink)  
Antiguo 10/05/2007, 10:16
 
Fecha de Ingreso: abril-2007
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Re: Ayuda urgente !!!

Pues ya no te entendí, qué hago?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:38.