Foros del Web » Programando para Internet » PHP »

Inicio de sesion

Estas en el tema de Inicio de sesion en el foro de PHP en Foros del Web. mi problema es el siguiente: Código: <? $A = mysql_connect("localhost","user","pass"); mysql_select_db("Usuarios",$A); <--- BD if (isset($b1)){ $sqlC="select * from Acceso where user='$user' and pass='$pass'"; <- Campos ...
  #1 (permalink)  
Antiguo 19/09/2006, 17:49
Avatar de rugia  
Fecha de Ingreso: agosto-2006
Mensajes: 18
Antigüedad: 17 años, 8 meses
Puntos: 0
Inicio de sesion

mi problema es el siguiente:

Código:
<? 
    $A = mysql_connect("localhost","user","pass"); 
    mysql_select_db("Usuarios",$A); <--- BD

if (isset($b1)){
    $sqlC="select * from Acceso where user='$user' and pass='$pass'"; <- Campos de form y tabla se llaman asi
    mysql_query($sqlC,$A);
    header ("Location: prueba.htm"); 

}else { 

    echo "<script> alert('User o Pass Incorrectos')</script>>";
    header ("Location: intro.php");  

} 
?>
Cuando introduzco un usuario diferente, no me manda el error, me manda a la pagina de prueba.htm
Como puedo hacer para que me verifique si los campos son iguales a los de la tabla en la BD y me deje accesar y si no me mande el mensaje de error.

de antemano gracias
  #2 (permalink)  
Antiguo 19/09/2006, 22:56
 
Fecha de Ingreso: septiembre-2005
Mensajes: 78
Antigüedad: 18 años, 7 meses
Puntos: 0
inicio

hola

no existe en ninguna parte del codigo donde verifiques si la consulta te devuelve algo
while($row = mysql_fetch_array($result))
{
$var= $row["id"];

}

luego hace un if preguntando si var tiene o no informacion

if $var>0
header(...)...
else
error....
  #3 (permalink)  
Antiguo 20/09/2006, 07:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Según tu ejemplo ...

Código PHP:
echo "<script> alert('User o Pass Incorrectos')</script>>";
    
header ("Location: intro.php"); 
Eso no es correcto .. No puedes mandar una "salida" antes de una cabecera HTTP que envias (por header()). NO uses ese "echo" ahí.

Por lo demás, termina la ejecución del script con un exit despues de tu header() de redirección:

Código PHP:
header("Location: dondesea.php");
exit; 
Por otro lado .. deberías "contar" el n° de resultados que tu consulta SQL va a dar como resultado donde esperas "una ocurrencia" para decidir que tu par 2usuario/contraseña" es correcto (que existe en tu tabla implicada).

Código PHP:
<? 
    $A 
mysql_connect("localhost","user","pass"); 
    
mysql_select_db("Usuarios",$A);

    
$sqlC="select * from Acceso where user='$user' and pass='$pass'";
    
$resultado=mysql_query($sqlC,$A) or die (mysql_error());
  
if (
mysq_num_rows($resultado)==1){
    
header ("Location: prueba.htm"); 
    exit;
} else { 
    
header ("Location: intro.php");  
    exit;

?>
Por lo demás .. No validas a tu usuario con alguna variable de sesión o cookie? .. De que te sirve poner una "puerta" a tu sistema si no tienes una "cerca" para encerrar todo el resto de la aplicación. Fijate que si voy al URL y pongo directamente prueba.html .. entraré a tu página "protegida" sin más .. Necesitas usar sesiones o cookies para seguir validando tus páginas de tu sistema.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 20/09/2006, 08:33
Avatar de rugia  
Fecha de Ingreso: agosto-2006
Mensajes: 18
Antigüedad: 17 años, 8 meses
Puntos: 0
Muchas gracias cluster
de echo probare tu clase de sesiones ya que tienes muchisima razon en lo que me pones respecto a seguridad



--------------------------
Cluster una duda acerca de tu clase sesion, cuando yo le doy "salir" me manda a la pagina "aut_log" pero si yo quiero que DESPUES DE cerrar la sesion me mande otra vez al "index", donde puedo configurar eso??

Última edición por rugia; 20/09/2006 a las 09:42 Razón: pregunta REFORMULADA...
  #5 (permalink)  
Antiguo 20/09/2006, 10:32
Avatar de rugia  
Fecha de Ingreso: agosto-2006
Mensajes: 18
Antigüedad: 17 años, 8 meses
Puntos: 0
--------------------------
Cluster una duda acerca de tu clase sesion, cuando yo le doy "salir" me manda a la pagina "aut_log" pero si yo quiero que DESPUES DE cerrar la sesion me mande otra vez al "index", donde puedo configurar eso??
  #6 (permalink)  
Antiguo 20/09/2006, 11:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por rugia Ver Mensaje
--------------------------
Cluster una duda acerca de tu clase sesion, cuando yo le doy "salir" me manda a la pagina "aut_log" pero si yo quiero que DESPUES DE cerrar la sesion me mande otra vez al "index", donde puedo configurar eso??
Si te refires a que usas mi "Autentificator" (Script .. no es una classe ni llega a ser una "función").

El script que "mata" la sesión lo tienes detallado en la documentación .. ahí es donde en lugar de mostrar el mensaje que ahí se muestra, puedes redireccionar a otro sitio como lo harías normlamente .. por ejemplo:

Código PHP:
header("Location: index.php");
exit; 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 19:26.