Foros del Web » Programando para Internet » PHP »

Doble logueo

Estas en el tema de Doble logueo en el foro de PHP en Foros del Web. Hola a todos.... tengo lo siguiente espero me puedan apoyar... tengo una página donde inicio sesión.... en determinado nivel de usuario digamos... usuario con el ...
  #1 (permalink)  
Antiguo 28/01/2014, 18:49
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Doble logueo

Hola a todos.... tengo lo siguiente espero me puedan apoyar...
tengo una página donde inicio sesión.... en determinado nivel de usuario digamos... usuario con el nivel 2... ahora bien necesito hacer una acción pero a esta solo puede acceder un usuario con nivel 3…
por ejemplo lo que hacen en los supermercados… mandan a llamar a otra persona la cual se vuelve a loguear para cancelar un pago….

Bien inicio sesión con nivel 2….
En un icono mando hacer un logueo para tener acceso a la acción restrigida para el usuario nivel 2 y permitida para el 3…
Esto funciona bien… pero tengo la siguiente duda… después de loguearme con el usuario nivel 3 … obvio pierdo el inicio del usuario con nivel 2…. Como puedo hacer para que después de hacer mi acción (editar) regrese a mi página anterior… (en la cual estaba el nivel 2)… ¿¿¿Tengo que volver a loguearme con el nivel 2????
Otra duda en este código valido el inicio de sesión…. Pero nesecito que si el logueo fue exitoso mande un a href…. Algo asi
$MM_redirectLoginSuccess = <a href="editar.php?clave=<?php echo $row_consulta['id'">
Hasta el momento… mando solo un php
$MM_redirectLoginSuccess = "EDITAR.PHP”;

Código PHP:
   <?php
// *** Validar
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['log'])) {
  
$loginUsername=$_POST['log'];
  
$password=$_POST['pwd'];
  
$MM_fldUserAuthorization "nivel";
  
$MM_redirectLoginSuccess "ACA”;
  $MM_redirectLoginFailed = "
index.htm";
  $MM_redirecttoReferrer = true;
  mysql_select_db($database_connection, $connection);
      
  $LoginRS__query=sprintf("
SELECT usuariopasswordnivel FROM usuarios WHERE usuario=%AND password=%s",GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
   
   
  $LoginRS = mysql_query($LoginRS__query, $connection) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'nivel');
    
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset($_SESSION['PrevUrl']) && true) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
    }
    $_SESSION["
mivariabledesesion"]=$loginUsername;
session_register("
mivariabledesesion");
    header("
Location" . $MM_redirectLoginSuccess );
  }
  else {
    header("
Location". $MM_redirectLoginFailed );
  }
}
?>
De antemano agradezco su ayuda :)
  #2 (permalink)  
Antiguo 28/01/2014, 18:56
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Doble logueo

Más que cerrar sesión de un usuario, te recomiendo establecer un password administrador.

Con tu ejemplo, en algún lugar administrativo permites crear un password de cancelaciones, que evidentemente solo conocerán el o las personas adecuadas.

Cuando se requiera hacer una cancelación, se pide el password sin tener que cerrar ninguna sesión o abrir otra.
  #3 (permalink)  
Antiguo 28/01/2014, 19:02
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Cita:
Iniciado por ocp001a Ver Mensaje
Más que cerrar sesión de un usuario, te recomiendo establecer un password administrador.

Con tu ejemplo, en algún lugar administrativo permites crear un password de cancelaciones, que evidentemente solo conocerán el o las personas adecuadas.

Cuando se requiera hacer una cancelación, se pide el password sin tener que cerrar ninguna sesión o abrir otra.
Gracias por tu respuesta... voy a probar cualquier cosa lo posteo

Hice esto
Código PHP:
  <?php 
$password
=$_POST['password'];

 
    if (
$password =='juanito')
    {
        
         
        echo 
"<a rel=\"facebox\" href=\"editar.php?clave={$row_consulta['id']}\"><img src=\"img/ir.png\" width=\"25\" height=\"25\" alt=\"Abrir\" border=\"0\" align=\"center\"/></a>";
     
//header("location:editar.php"); 
        
    

    else 
    {
         
header("location:accesar.php"); 
    }

?>
crei que con header quedaria pero marca error
Warning: Cannot modify header information - headers already sent by
con esto funciona
echo "<a rel=\"facebox\" href=\"editar.php?clave={$row_consulta['id']}\"><img src=\"img/ir.png\" width=\"25\" height=\"25\" alt=\"Abrir\" border=\"0\" align=\"center\"/></a>";

pero aqui me manda a otra pagina con la imagen ir.png doy clic y ya me manda al form editar... que puedo hacer para que se valla automaticamente... ademas despues de editar.php necesito mandar una variable editar.php?clave....

lo de los headers ya lo resolvi... lei que se da por los espacios en blaco asi q use otro editor y los elimine y listo... pero aun asi puedo en el header meter mi echo "<a rel=\"facebox\" href=\"editar.php?clave={$row_consulta['id']}\"><img src=\"img/ir.png\" width=\"25\" height=\"25\" alt=\"Abrir\" border=\"0\" align=\"center\"/></a>";

Última edición por Triby; 28/01/2014 a las 19:37 Razón: Combinar mensajes seguidos
  #4 (permalink)  
Antiguo 28/01/2014, 19:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Doble logueo

Briss, por favor evita publicar varios mensajes consecutivos, cuando no hay respuestas posteriores puedes editar para agregar lo que haya faltado.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 28/01/2014, 19:45
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Cita:
Iniciado por Triby Ver Mensaje
Briss, por favor evita publicar varios mensajes consecutivos, cuando no hay respuestas posteriores puedes editar para agregar lo que haya faltado.
Perdon Triby mi navegador hizo de las suyas xD

ya me quedo un header
<?php
$password=$_POST['password'];
$abc=$_POST['abc'];
$clave=$_POST['clave'];


if ($password =='juanito')
{header("Location:editarfolio.php"); // ACA AUN NO SÉ COMO METER <a rel=\"facebox\ ESTO ES POR MI HOJA DE ESTILO LO DEMAS SERIA COMO editarfolio.php?clave=".$clave
}
else
{header("location:Inscripciones.php?abc=".$abc);
}
?>

Última edición por Triby; 28/01/2014 a las 21:30 Razón: Otra vez tu navegador hizo de las suyas?
  #6 (permalink)  
Antiguo 29/01/2014, 10:44
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Doble logueo

ya me quedo un header
Código PHP:
<?php 
$password
=$_POST['password'];
$abc=$_POST['abc'];
$clave=$_POST['clave'];

 
    if (
$password =='juanito')
    {
header("Location:editarfolio.php"); // ACA AUN NO SÉ COMO METER <a rel=\"facebox\ ESTO ES POR MI HOJA DE ESTILO  LO DEMAS SERIA COMO editar.php?clave=".$clave
    

    else 
    {
header("location:Inscripciones.php?abc=".$abc); //este ya esta bien
    
}
?>
No es posible hacer esto????
  #7 (permalink)  
Antiguo 29/01/2014, 17:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Doble logueo

Si usas header para redirigir NO PUEDES mostrar ese enlace; entonces tienes dos opciones:

a) Haces la redirección con header e incluyes la URL de la página con todas las variables requeridas, ejemplo: header("Location:editar.php?clave=$clave");
b) Creas una página sin redirección y con el enlace tal como lo quieres

Elige la que mejor se adapte a tus necesidades.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: doble, logueo, mysql, select, sql, usuarios, variable
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 23:12.