Foros del Web » Programando para Internet » PHP »

Problemilla con Comprobar si esta logeado.

Estas en el tema de Problemilla con Comprobar si esta logeado. en el foro de PHP en Foros del Web. Uso Cookies por que es una aplicacon interna no es nada que se valla a ver espuesto a internet pero cuando mis usuarios de lan ...
  #1 (permalink)  
Antiguo 15/09/2008, 13:00
 
Fecha de Ingreso: julio-2008
Ubicación: Pontevedra
Mensajes: 23
Antigüedad: 15 años, 8 meses
Puntos: 0
Problemilla con Comprobar si esta logeado.

Uso Cookies por que es una aplicacon interna no es nada que se valla a ver espuesto a internet pero cuando mis usuarios de lan usen el panel si entran directamente a modiciar cualquier cosa yo al recoger el nombre me aparece que no hay nombre osea entran y esto exactamente no lo hace Fijense.

Código PHP:
        if($_COOKIE["usNick"]=="")
        {
        ?>
        <script language="javascript">
        alert('Por Favor vuelva a Ingresar ah habido algun problema con las Cookies.'); 
        
        </script><?php
    
        
}
        else
        {

        }
El Codigo de la pagina entera es esta y la añado en todas las paginas que quiero que esten logeados para poder verla. En verdad me tendria que funcionar ya que es solo un If que no se que no lo quiere hacer.. Diganme si lo puse mal o una idea que me funcione..

CODIGO ENTERO:

Código PHP:
 <?php
include('conecta.php');

      
$loginCorrecto ="fuera";
      
$idUsuarioL;
      
$nickUsuarioL;
      
$emailUsuarioL;
      
$nombreUsuarioL;
      if(isset(
$_COOKIE["usNick"]) && isset($_COOKIE["usPass"]))
      {
      
$result mysql_query("SELECT * FROM users WHERE c_nombre='".$_COOKIE["usNick"]."' AND c_password='".$_COOKIE["usPass"]."'");
      if(
$row mysql_fetch_array($result))
      {
      
setcookie("usNick",$_COOKIE["usNick"],time()+7776000);
      
setcookie("usPass",$_COOKIE["usPass"],time()+7776000);
      
$loginCorrecto ="dentro";
      
$idUsuarioL $row["c_id"];
      
$nickUsuarioL $row["c_nombre"];
      
$emailUsuarioL $row["c_email"];
      
      }
      else
      {
      
//Destruimos las Cookies.
        
setcookie("usNick","x",time()-3600);
        
setcookie("usPass","x",time()-3600);
      }
      
        if(
$_COOKIE["usNick"]=="")
        {
        
?>
        <script language="javascript">
        alert('Por Favor vuelva a Ingresar ah habido algun problema con las Cookies.'); 
        
        </script><?php
    
        
}
        else
        {

        }

    }      
      
?>
Gracias Ante mano. Y por todas las soluciones que me dan :P
  #2 (permalink)  
Antiguo 15/09/2008, 13:03
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problemilla con Comprobar si esta logeado.

Yo creo que el problema esta aca:
Código php:
Ver original
  1. setcookie("usNick",$_COOKIE["usNick"],time()+7776000);
  2. setcookie("usPass",$_COOKIE["usPass"],time()+7776000);

Ya que estas creando las cookies con el valor de las cookies... y como no estan seteadas, te guarda vacio... tienes q asignarle el valor de cada $row[]

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 15/09/2008, 13:35
 
Fecha de Ingreso: julio-2008
Ubicación: Pontevedra
Mensajes: 23
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemilla con Comprobar si esta logeado.

Tu Dices ponerlo asi:

Código PHP:
    setcookie("usNick",$row["c_nombre"],time()+7776000);
      
setcookie("usPass",$row["c_password"],time()+7776000); 
No funciona aun : Lo tengo asi ahora.

Cambie unas cuantas cosas y aun asi no funciona...

Código PHP:
 <?php
include('conecta.php');

      
$loginCorrecto ="fuera";
      
$idUsuarioL;
      
$nickUsuarioL;
      
$emailUsuarioL;
      
$nombreUsuarioL;
      if(isset(
$_COOKIE["usNick"]) && isset($_COOKIE["usPass"]))
      {
      
$result mysql_query("SELECT * FROM users WHERE c_nombre='".$_COOKIE["usNick"]."' AND c_password='".$_COOKIE["usPass"]."'");
      if(
$row mysql_fetch_array($result))
      {
      
setcookie("usNick",$row["c_nombre"],time()+7776000);
      
setcookie("usPass",$row["c_password"],time()+7776000);
      
$loginCorrecto ="dentro";
      
$idUsuarioL $row["c_id"];
      
$nickUsuarioL $row["c_nombre"];
      
$passUsuarioL $row["c_password"];
      
$emailUsuarioL $row["c_email"];
      
      }
      else
      {
      
//Destruimos las Cookies.
        
setcookie("usNick","x",time()-3600);
        
setcookie("usPass","x",time()-3600);
      }
      
        if(
$idUsuarioL=="")
        {
        
?>
        <script language="javascript">
        alert('Por Favor vuelva a Ingresar ah habido algun problema con las Cookies.'); 
        
        </script><?php
    
        
}
        else
        {
        
?>

    <?php
        
}



    }      
      
?>

Última edición por BlaCkPerL; 15/09/2008 a las 13:42
  #4 (permalink)  
Antiguo 15/09/2008, 14:04
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problemilla con Comprobar si esta logeado.

Ahora... segun la logica que tienes ahi... que pasa cuando el usuario no esta registrado? Se va a otra pagina?...
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 15/09/2008, 14:25
 
Fecha de Ingreso: julio-2008
Ubicación: Pontevedra
Mensajes: 23
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemilla con Comprobar si esta logeado.

Cuando no esta registrado y intenta ir a esa pagina solo tengo ahora que salte el alert cuando me salte el alert vere quefunciona para ponerle la redireccion.
  #6 (permalink)  
Antiguo 15/09/2008, 15:35
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problemilla con Comprobar si esta logeado.

Por eso preguntaba... porque donde estas seteando las cookies para entrar a esta pagina ?
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 15/09/2008, 16:13
 
Fecha de Ingreso: julio-2008
Ubicación: Pontevedra
Mensajes: 23
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemilla con Comprobar si esta logeado.

Aver Todo el panel funciona ok menos exactamente eso, entro a una pagina sin logearme y no me salta el error de no estoy logeado. Ese es el problema
  #8 (permalink)  
Antiguo 16/09/2008, 09:33
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problemilla con Comprobar si esta logeado.

Prueba con esto:
Código php:
Ver original
  1. <?php
  2. include('conecta.php');
  3.  
  4. $loginCorrecto ="fuera";
  5. $idUsuarioL;
  6. $nickUsuarioL;
  7. $emailUsuarioL;
  8. $nombreUsuarioL;
  9. if(isset($_COOKIE["usNick"]) && isset($_COOKIE["usPass"])){
  10.     $result = mysql_query("SELECT * FROM users WHERE c_nombre='".$_COOKIE["usNick"]."' AND c_password='".$_COOKIE["usPass"]."'");
  11.     if($row = mysql_fetch_array($result)){
  12.         setcookie("usNick",$_COOKIE["usNick"],time()+7776000);
  13.         setcookie("usPass",$_COOKIE["usPass"],time()+7776000);
  14.         $loginCorrecto ="dentro";
  15.         $idUsuarioL = $row["c_id"];
  16.         $nickUsuarioL = $row["c_nombre"];
  17.         $emailUsuarioL = $row["c_email"];
  18.     }else{
  19.         //Destruimos las Cookies.
  20.         setcookie("usNick","x",time()-3600);
  21.         setcookie("usPass","x",time()-3600);
  22.     }
  23.     if($_COOKIE["usNick"]==""){
  24. ?>
  25.     <script language="javascript">
  26.         alert('Por Favor vuelva a Ingresar ah habido algun problema con las Cookies.');
  27.     </script>
  28. <?php
  29.     }
  30. }else{
  31. ?>
  32.     <script language="javascript">
  33.         alert('Usted no ha validado su usuario, ingrese nuevamente por favor.');
  34.     </script>
  35. <?php
  36. }
  37. ?>

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #9 (permalink)  
Antiguo 16/09/2008, 16:30
 
Fecha de Ingreso: julio-2008
Ubicación: Pontevedra
Mensajes: 23
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemilla con Comprobar si esta logeado.

Jeje muchas gracias le tube que solucionar unos problemillas que tubistes.. Pero si al final funciono ok muchas gracias. Te paso el que funciona para que veas como quedo y veas el error. Te saltastes un } lo pusistes en el ultimo else y tenia que ir antes del if.

Código PHP:
      <?php
      
include('conecta.php');
      
$loginCorrecto ="fuera";
      
$idUsuarioL;
      
$nickUsuarioL;
      
$emailUsuarioL;
      
$nombreUsuarioL;
      if(isset(
$_COOKIE["usNick"]) && isset($_COOKIE["usPass"])){
          
$result mysql_query("SELECT * FROM users WHERE c_nombre='".$_COOKIE["usNick"]."' AND c_password='".$_COOKIE["usPass"]."'");
          if(
$row mysql_fetch_array($result)){
              
setcookie("usNick",$_COOKIE["usNick"],time()+7776000);
              
setcookie("usPass",$_COOKIE["usPass"],time()+7776000);
              
$loginCorrecto ="dentro";
              
$idUsuarioL $row["c_id"];
              
$nickUsuarioL $row["c_nombre"];
              
$emailUsuarioL $row["c_email"];
          }else{
              
//Destruimos las Cookies.
              
setcookie("usNick","x",time()-3600);
              
setcookie("usPass","x",time()-3600);
          }
           }
          if(
$_COOKIE["usNick"]==""){
      
?>
          <script language="javascript">
           location.href = "index.php";
            alert('Usted no ha validado su usuario, ingrese nuevamente por favor.');
             
            
          </script>
      <?php
         

      
}else{

      
?>
          <script language="javascript">
              
             

          </script>
 
      <?php
  
      
}
 
      
?>
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 01:02.