Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2013, 16:31
Avatar de reborn
reborn
 
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 10 meses
Puntos: 1
Mostrar HTML pero sin embeber ni mezclar PHP con HTML

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

Última edición por reborn; 27/10/2013 a las 17:39