Nueva pregunta

Pregunta:

Fecha: 05-08-2017 09:30:27 (En Español)

No me reenvía a la página de inicio una vez hecha la validación[No resuelta]

Buenas comunidad, cómo están?

Me encuentro desarrollando un sistema pero no consigo ver porque no me reenvía a la página de inicio una vez hecha la validación.

Espero puedan ayudar, este es el código de login.php que hice:

<?php 
include '../conexion/conexion.php';

if ($_SERVER['REQUEST_METHOD']== 'POST') {
	$user = $con->real_escape_string(htmlentities($_POST['usuario']));
	$pass = $con->real_escape_string(htmlentities($_POST['contra']));
	$candado = ' ';
	$str_u = strpos($user,$candado);
	$str_p = strpos($pass,$candado);
	if (is_int($str_u)) {
		$user = '';
	}else{
		$usuario = $user;
	}

	if (is_int($str_p)) {
		$pass = '';
	}else{
		$pass2 = sha1($pass);
	}

	if ($user == null OR $pass == null) {

		header('loacation:../extend/alerta.php?msj=El formato no es correcto&c=salir&p=salir&t=error');
	}else{

		$ins = $con->prepare("SELECT nick, nombre, nivel, correo, foto, pass FROM usuario WHERE nick = '$usuario' AND pass = '$pass2' AND bloqueo = 1");
        $ins->execute();
        $row = $ins->get_result();
        
		if ($row->num_rows == 1) {
			if ($var = mysqli_fetch_array($ins)) {
				$nick = $var['nick'];
				$contra = $var['pass'];
				$nivel = $var['nivel'];
				$correo = $var['correo'];
				$foto = $var['foto'];
				$nombre = $var['nombre'];
			}

			if ($nick == $usuario && $contra == $pass2 && $nivel == 'ADMINISTRADOR') {
				$_SESSION['nick'] = $nick;
				$_SESSION['nombre'] = $nombre;
				$_SESSION['nivel'] = $nivel;
				$_SESSION['correo'] = $correo;
				$_SESSION['foto'] = $foto;
				header('loacation:../extend/alerta.php?msj=Bienvenido&c=home&p=home&t=success');
			}else{
				header('loacation:../extend/alerta.php?msj=No tienes permisos para entrar&c=salir&p=salir&t=error');
			}
		}header('loacation:../extend/alerta.php?msj=Usuario o contraseña incorrectos&c=salir&p=salir&t=error');

	}

}else{
	 header('loacation:../extend/alerta.php?msj=Utiliza el formulario&c=salir&p=salir&t=error');
}

 ?>
Etiquetas: Formulario - MySQL - PHP - Pregunta - Redirect Votos: 0 - Respuestas: 3 - Vistas: 16 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 05-08-2017 16:08:59 Hola Eduardo,
    Intenta primero cambiar la palabra loacation por location
      Votos: 2 - Link respuesta
     
  • Fecha: 07-08-2017 19:08:28 usa algun IDE que te ayude con los errores, es mejor leer el codigo bien antes de que alguien te lo revise.

    y buscar otra forma de enviar los mensajes.. eso se ve muy mal.. con algun ID de error o algo.. los mensajes nunca deben quedar revueltos con el codigo.. si hay que cambiarlo hay que ir a buscarlo a la linea exacta.. y en algo grande eso seria super complicado
      Votos: 0 - Link respuesta
     
  • Fecha: 09-08-2017 01:10:30 Hola Eduardo,

    Lo dicho antes, la instrucción correcta es "Location" y con ella hay algunos detalles propios de la especificación HTTP. Si mal no recuerdo, las direcciones (URL) deben ser absolutas. También debe dejarse un espacio entre la instrucción y la URL (Location: http://www....) Finalmente, antes de cualquier redireccionamiento no debe existir ninguna salida previa (echo)

    Espero te ayude a mejorar el código.
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com