Foros del Web » Programando para Internet » PHP »

error de login

Estas en el tema de error de login en el foro de PHP en Foros del Web. bueno mi problemita es algo sobre login por ejemplo yo tengo una web que me valida el usuario cuando click en uno de los botones ...
  #1 (permalink)  
Antiguo 31/05/2009, 14:18
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
error de login

bueno mi problemita es algo sobre login por ejemplo yo tengo una web que me valida el usuario cuando click en uno de los botones me manda otra web pero cuando quiero regresar me manda un error de pagina expirada como puedo arreglar ese error, parece como si ya hubiera cerrado sesion con esa cuenta que codigo urilizaria en todas las web que valla haciendo para que no me cierre ese usuario
  #2 (permalink)  
Antiguo 31/05/2009, 14:43
Avatar de israel_z21  
Fecha de Ingreso: mayo-2009
Ubicación: Chihuahua
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Respuesta: error de login

Parece ser que es algun error de cookies que caducan al instante y es como si te cerrara sesion... cuanto tiempo le diste a las cookies para que caduquen??
  #3 (permalink)  
Antiguo 31/05/2009, 17:09
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
probrema con el login

bueno mi duda es la siguiente en mi web quiero que no expire el usuario y contraseña pero el problema es que al validar el usuario abre un menu cuando clikeo un boton y quiero regresar al menu principal me dice que expira la web con que codigo hago que no me pase eso o la otra que pense es sobre la misma hoja donde esta el menu hacer un if que al clikear el boton sigua sobre la misma hoja y no estar haciendo una hoja por cada boton (me refiero ha ir a cada funcion como altas baja etc...)espero haberme explicado bien
  #4 (permalink)  
Antiguo 31/05/2009, 17:09
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: error de login

es normal cuando se envían datos por el método post.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #5 (permalink)  
Antiguo 31/05/2009, 17:12
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: error de login

no e puesto cookies pork no los se usar pero puedo hacer sobre el mismo codigo donde esta el menu poner condiciones del para que no caduque pero como le haria para que cuando clike ese boton haga la funcion de mandarme otro submenu
  #6 (permalink)  
Antiguo 31/05/2009, 18:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: probrema con el login

Podrias postear el codigo y si es posible ver un ejemplo en internet?
  #7 (permalink)  
Antiguo 31/05/2009, 19:19
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: probrema con el login

este es el codigo del menu
Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('doggy')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function 
quitar($mensaje)
{
    
$nopermitidos = array("'",'\\','<','>',"\"");
    
$mensaje str_replace($nopermitidos""$mensaje);
    return 
$mensaje;
}
if(
trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
    
// Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    
$usuario strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
    
$password $HTTP_POST_VARS["password"];
    
$result mysql_query('SELECT psw, login,nombre,rol FROM usuario WHERE login=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["psw"] == $password){
            
$_SESSION["nombre"] = $row['nombre'];
            
$_SESSION['rol']=$row['rol'] ;



echo
"
 <style type=text/css>
h3 {font-family:Curlz MT; font-size:20px;}
</style>"
;
                         
        if(
$_SESSION['rol']=='admin')
            
//{
                //echo"ola";
            
{        
            echo
"<br><br>   "?>    
                    <!--//echo "-->

            
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<center><table width=800 height=485 border=0 background=fondodoggymenu.gif>
    <tr>
    
    <td width=49 height=73>&nbsp;</td>
    <td width=49>&nbsp;</td>
    <td width=129>&nbsp;</td>
    <td width=110><p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width=124><h3><?PHP echo"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>Bienvenido&nbsp;&nbsp;&nbsp;".$_SESSION['nombre']. ""?></h3></td>
    <td width=187>&nbsp;</td>
    <td width=49>&nbsp;</td>
    <td width=51>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td height=64>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><!--<input name='reportes' value='Formularios' type='button' onClick='window.open('ver_reportes.php','')'/>-->
    <!--<a href="formularios.html">-->
    <img type=submit src="boton1-1.png" width="66%" height="29" border="0"  onmouseover="this.src = 'boton2-2.jpg'" onmouseout="this.src = 'boton1-1.png'" onclick="window.open('formularios.html','','width=800, height=540')"/></img></td> </a>
<!--    onclick="this.src = 'boton3-3.png'"-->
    
    <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name='reportes' type='button' value='Reportes' /></td>
    <td><input name='salir' type='button' value='Salir'  onClick='javascript:history.go (-1)'/></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</center>
<?php
         
//";
 
}
 
 
 
//else{
// echo"prueba1";
 //}
  
  
 
if($_SESSION['rol']=="user")
{
echo 
"<h3>prueba</h3>";
}



            
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
            /*Ingreso exitoso, ahora sera dirigido a la pagina principal.
            <SCRIPT LANGUAGE="javascript">
            location.href = "index.php";
            </SCRIPT>*/

}else{ ?>
            
             <!--echo "-->
             <script language='JavaScript'> 
             alert('Password incorrecto' )
             <!--Password incorrecto'-->";
             history.go(-1);
             </script>
        <?php    
        
}
    }else{
    
?>
    
        <!--echo-->< <script language='JavaScript'> 
             alert('Usuario no existente en la base de datos')
             history.go(-1);
             </script>
        <?php
    
}
    
mysql_free_result($result);

 }else{
?>
 
      <!--echo--><script language='JavaScript'> 
             alert('Debe especificar un usuario y password')
             history.go(-1);
             </script>
             <?php
}
mysql_close();



        
?>
cuando entro a uno de los botones pongo este codigo y es ek que quiero meter sin que caduke el login etc.. o ponerlo en otra ventana pero que tome las condiciones de usuario y contraseña ya que se puede accesar direcot sin logearse y eso no quiero
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formularios</title>
</head>

<body>

<center>
<table width="814" height="512" border="0" background="fondodoggymenu.gif">
  <tr>
    <td width="56">&nbsp;</td>
    <td width="56">&nbsp;</td>
    <td width="56">&nbsp;</td>
    <td width="141">&nbsp;</td>
    <td width="93">&nbsp;</td>
    <td width="123">&nbsp;</td>
    <td width="193">&nbsp;</td>
    <td width="62">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="contrato" type="button" value="Contrato" onclick="window.open('contrato.php','')" /></td>
    <td><input name="reportes" type="button" value="Reportes" onclick="window.open('reportes.php','')" /></td>
    <td><input name="modificacion" type="button" value="Modificaciones" onclick="window.open('modificacion.php','')" /></td>
    <td><input name="cerrar" type="button" value="Cerrar" onclick="self.close()" /></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td height="41">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</center>

</body>
</html> 
  #8 (permalink)  
Antiguo 31/05/2009, 23:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: error de login

El problema es que envias unos datos a la misma pagina a traves de post

Ejemplo

Yo cree el login en la pagina index.php y cuando le doy submit a traves del metodo post a la misma pagina index.php me logea. Le doy un click a un link me redirecciona pero cuando le doy back le esta diciendo al explorador que desea regresar a la pagina donde hice el post pero no trae los datos del post por lo tanto te pide que refresques la pagina y cuando la refrescas vez que sale la información.

Si no quieres que te pase eso haz que el login envie los datos a otra pagina y que sea esta completamente en php, sin que envie datos al navegador, pero que te redireccione al final con un header("Location: index.php"); y cuando le des un click en la pagina puedes darle para atras y no te va a salir ese mensaje. Lo que no me acuerdo es que si en vez de enviar los datos como post a la misma pagina lo envias como get no te va a salir el mensaje. Pero este metodo delata la información en la barra de direccion.

Me dejas saber
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 11:54.