Header location

  • Autor Autor Linares
  • Fecha de inicio Fecha de inicio
L

Linares

Beta
Verificado por Whatsapp
Buenas, que tal?

Les cuento mi inconveniente, tengo el siguiente código:

PHP:
<?php
session_start();
require_once("includes/connection.php");
include("includes/header.php");

if(isset($_SESSION["session_username"])){
// echo "Session is set"; // for testing purposes
header("Location: intropage.php");
}

if(isset($_POST["login"])){

if(!empty($_POST['username']) && !empty($_POST['password'])) {
    $username=$_POST['username'];
    $password=$_POST['password'];

    $query =mysql_query("SELECT * FROM usertbl WHERE username='".$username."' AND password='".$password."'");

    $numrows=mysql_num_rows($query);
    if($numrows!=0)

    {
    while($row=mysql_fetch_assoc($query))
    {
    $dbusername=$row['username'];
    $dbpassword=$row['password'];
    }

    if($username == $dbusername && $password == $dbpassword)

    {


    $_SESSION['session_username']=$username;

    /* Redirect browser */
    header("Location: intropage.php");
    }
    } else {

 $message =  "Nombre de usuario ó contraseña invalida!";
    }

} else {
    $message = "Todos los campos son requeridos!";
}
}
?>
    <div class="container mlogin">
            <div id="login">
    <h1>Login</h1>
<form name="loginform" id="loginform" action="" method="POST">
    <p>
        <label for="user_login">Nombre De Usuario<br />
        <input type="text" name="username" id="username" class="input" value="" size="20" /></label>
    </p>
    <p>
        <label for="user_pass">Contraseña<br />
        <input type="password" name="password" id="password" class="input" value="" size="20" /></label>
    </p>
        <p class="submit">
        <input type="submit" name="login" class="button" value="Entrar" />
    </p>
</form>

    </div>

    </div>
	
<?php 
include("includes/footer.php");	
if (!empty($message)) {echo "<p class=\"error\">" . "MESSAGE: ". $message . "</p>";} 
?>

Y por alguna razón, cuando le doy click a entrar solo refresca la pagina y no me re-direcciona a intropage.php, alguien sabría el porque?

Gracias!

- - - Actualizado - - -

Listo lo solucione, solo tuve que cambiar esta linea:

header("Location: intropage.php");

por esta:

echo '<script type="text/javascript">window.location.href="intropage.php";</script>';
 
Un mal codigo tienes.

PHP:
if(isset($_SESSION["session_username"])){ 
// echo "Session is set"; // for testing purposes 
header("Location: intropage.php"); 
}

Prueba con esto :


PHP:
  if(!isset($_SESSION['session_username'])) {

    header('location: /intropage.php');
    
  } else {

    // echo 'Usuario con sesion iniciada';
  }

revisando un poco, tambien podrias tener un error con el archivo header, tal vez tiene otro codigo haciendo interferencia con el actual.

lo mejor es que haga un require y no un include igual que la base de datos.
 
Supongo que en tu archivo includes/header.php tienes el html del header de tu página?

header() no se puede usar si ya se hizó un output (si ya escribiste algo como html, un texto, etc)


PHP: header - Manual

Saludos.