Autor Tema: php redirección problema header no se puede usar si se han enviado contenidos  (Leído 2496 veces)

Mafer

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Un saludo a todos. Tengo un sistema de logeo en una web que estoy montando para una asociación.

Estoy empezando con la programación web y ando un poco liado. Quiero darle privilegios a unos socios como administradores y quiero redirigirlos a una página en concreto mientras el resto de usuarios van a otra. Hasta el momento he conseguido realzar bien la conexión y dirigirlos a una pero no consigo filtrarlos. En la tabla hay un campo llamado " tipo" donde se diferencian como user y admin.

¿Como podría filtrarlos para que el checklogin los dirigiera?


Código: [Seleccionar]
<?php
session_start
();
?>


<?php

include 'conexion.php';

$conexion = new mysqli($host_db$user_db$pass_db$db_name);

if (
$conexion->connect_error) {
 die(
"La conexion falló: " $conexion->connect_error);
}

$username $_POST['username'];
$password $_POST['password'];
 
$sql "SELECT * FROM usuarios WHERE nombre_usuario = '$username'";


$result $conexion->query($sql);


if (
$result->num_rows 0) {     }

 
  
$row $result->fetch_array(MYSQLI_ASSOC);
 
// if (password_verify($password, $row['password'])) { 
if ($password==$row['password']) { 

 
    
$_SESSION['loggedin'] = true;
    
$_SESSION['username'] = $username;
    
$_SESSION['start'] = time();
    
$_SESSION['expire'] = $_SESSION['start'] + (60);

    echo 
"Bienvenido! " $_SESSION['username'],['password'];
    echo 
"<br><br><a href=panel-control.php>Panel de Control</a>"
    
header('Location: panel-control.php');//redirecciona a la pagina del usuario

 
} else { 
   echo 
"Username o Password estan incorrectos.";

   echo 
"<br><a href='login.html'>Volver a Intentarlo</a>";
 }
 
mysqli_close($conexion); 
 
?>
« Última modificación: 22 de Septiembre 2020, 11:46 por Alex Rodríguez »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Ayuda con login según tipo de usuario
« Respuesta #1 en: 27 de Mayo 2019, 21:04 »
Buenas Mafer, para poner título a los temas mírate el hilo https://aprenderaprogramar.com/foros/index.php?topic=1460.0

Echale un vistazo a lo que se comenta en https://aprenderaprogramar.com/foros/index.php?topic=1814.0 sobre el header que estás intentando usar, creo que te puede ayudar algo.

También si escribes la palabra redirección en el buscador del foro puedes encontrar otros hilos sobre redireccionamiento.

No puedes introducir un header si ya has enviado algún contenido. En tu caso estás enviando contenido antes de usar el header.

A priori lo que se me ocurre es que desde la página de login, tu botón de envío de datos debe llegar a la página de aterrizaje y recibir los datos del login. En esa página harías el condicional para decidir la redirección sin antes generar ninguna salida.

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".