Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Mafer en 25 de Mayo 2019, 19:49

Título: php redirección problema header no se puede usar si se han enviado contenidos
Publicado por: Mafer en 25 de Mayo 2019, 19:49
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); 
 
?>
Título: Re:Ayuda con login según tipo de usuario
Publicado por: Ogramar 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