Estoy construyendo un sitio web que incluye una página de inicio de sesión. Necesito redirigir al usuario a su página de perfil una vez que haya iniciado sesión correctamente, pero no sé cómo hacerlo en PHP (es mi primer sitio).Cómo redirigir a otra página usando PHP
He buscado en Internet y me han dicho que la función header() debería funcionar, pero solo funcionará si no he generado ninguna información antes de usarla.
Ese es el problema. He publicado un montón de información (incluido el HTML para construir la página de inicio de sesión). Entonces, ¿cómo redirijo al usuario de una página a la siguiente?
¿Qué opciones tengo? Además, ¿cuál es la mejor práctica en estos casos?
Gracias!
EDIT: Aquí está toda mi página login.php
<?php
session_start();
echo "<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Sprout</title>
<link rel='stylesheet' href='stylesheet.css' type='text/css'>
</head>
<body>
<div class='box'>
<form action='login.php' method='post'>
Name<br /> <input type='text' name='username' class='form'/><br />
Password<br /> <input type='password' name='password' class='form'/>
<input type='submit' value='Login' class='button' />
</form>
</div>
</body>
</html>";
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$username = $_POST["username"];
$password = $_POST["password"];
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "root";
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to database");
$dbname = "database";
mysql_select_db($dbname);
$query = "SELECT username FROM users WHERE username = '$username' AND password = '$password'";
$result = mysql_query($query) or die ("Failed Query of " . $query);
while($row = mysql_fetch_assoc($result))
{
$_SESSION["user"] = $username;
}
}
?>
Estoy un poco confundido aquí, básicamente, la función de encabezado es lo que estás buscando, pero creo que la estás usando mal aquí, entonces la página html es la página de inicio de sesión, y hay forma de que el usuario inicie sesión en, cuando haces clic en enviar, o inicias sesión o lo que sea, ¿qué sucede, a dónde vas? – mcbeav
la función de encabezado debe estar atascada en su secuencia de comandos de inicio de sesión. renunciar a algún código o más detalles para que pueda ayudarlo más. – mcbeav
por cierto, ¿escribiste el guión para iniciar sesión o estás utilizando uno prefabricado? es importante. – mcbeav