Hola,
estoy haciendo un pequeño login de usuarios en php oo y llegue a la parte de mostrar los datos, la vista.
Quiero tener un solo index pero sin mezclarlo con codigo php.
En ese index quiero mostrar los datos del usuario, si es q existe la sesion de login o mostrar el form de login si no existe.
Con esto muestro los datos del usuario. Funciona pero quiero ocultar el form y viceversa
Código PHP:
$mostrarUser = new Usuario();
$mostrarHtml = $mostrarUser->getDataUsuario($_SESSION['user']);
$template = file_get_contents('index.html');
foreach ($mostrarHtml as $clave=>$valor) {
$template = str_replace('{'.$clave.'}', $valor, $template); }
print $template;
Código HTML:
<!DOCTYPE HTML>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Login</title>
</head>
<body>
<section>
//Esto muestro si no existe $_SESSION['user']
<form action="proceso.php" autocomplete="on" method="post">
Usuario:<input type="text" name="user" autofocus><br>
Contraseña: <input type="password" name="pass"><br>
<input type="submit" name="login" value="Iniciar sesión">
</form>
//Estos muestro si existe $_SESSION['user']
<p>{nombre}</p>
<p>{email}</p>
</section>
</body>
</html>
Quiero evitar hacer esto:
Código PHP:
<!DOCTYPE HTML>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Login</title>
</head>
<body>
<section>
<?php
if(isset($_SESSION['user'])){
?>
//Muestro datos del user y demás
<p>{nombre}</p>
<p>{email}</p>
<?php
}else{
?>
//Muestro form de login
<form action="proceso.php" autocomplete="on" method="post">
Usuario:<input type="text" name="user" autofocus><br>
Contraseña: <input type="password" name="pass"><br>
<input type="submit" name="login" value="Iniciar sesión">
</form>
<?php
}
?>
</section>
</body>
</html>
Se puede hacer lo q planteo? o me conviene usar paginas por separado?, index.html, login.html, registro.html, etc...
Gracias