PHP - Necesito cambiar contenido de div por php

   
Vista:
Imágen de perfil de Luis

Necesito cambiar contenido de div por php

Publicado por Luis busca2011@gmail.com (29 intervenciones) el 21/07/2016 04:13:06
Buenas noches. Soy principiante en php y de a poco estoy armando un pequeño proyecto. Tengo un problema puntual que calculo será algo simple .. pero no lo logro.

En la primera seccion de mi index tengo un archivo cabecera.php , que contiene un div contenedor , y dentro 2 divs . Uno posee un grafico .png de 820px x 100 px y en el segundo div de 140x100 tengo un form con 2 text input y un boton para registrarse mediante login y pass.
El tema es con el form, en el action llamo al archivo checklogin.php , que valida exista el usuario y pass y en caso positivo principalmente actualiza 2 variables de sesion :
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;

La idea es que si es correcto el login del usuario , se cambie el contenido del DIV de cabecera.php , que en vez de mostrarme el form para loguearse , directamente me muestre el nombre del usuario y su estado ( conectado).

Pensé que sería simple pero no ... gracias por su ayuda !!

Copio los 2 archivos que son pequeños :

//////////////////////////////
// cabecera.ph
//////////////////////////////

<!DOCTYPE html>

<html>
<head>
</head>

<title> Prueba</title>

<link href="css/estilo.css" rel="stylesheet" type="text/css" />
<?php include('conexion.php'); ?>

<div class="cab">

<div class="foto_cabecera">
<img src="<?php echo base_url('IMAGENES/xxx.png')?>" width="820" height="100" alt="Cybermatika" align="left" />

</div>

<div class="botonera_cabecera">
<form action="checklogin.php" method="post">

<label for="nombre">Nombre de Usuario</label><br>
<input type="text" name="username1" maxlength="12" size="12">
<br/>

<label for="nombre">Password</label><br>
<input type="text" name="pass1" maxlength="12" size="12">
<br/><br/>
<input type="submit" name="submit" value="Conectarse" style="width:115px;border-radius:8px;background:white">

</form>
</div>


</div>

</html>



////////////////////////////////
// checklogin.php
////////////////////////////////

<?php
session_start();
?>

<?php

include('conexion.php');


function password_verify(val1, val2) {
if val1===val2
return true;
}else{
return false;
}

$username = $_POST['username1'];
$password = $_POST['pass1'];

$sql = "SELECT * FROM usuarios WHERE usuario = '$username'";

$result = $conexion->query($sql);


if ($result->num_rows > 0) {
}
$row = $result->fetch_array(MYSQLI_ASSOC);
if (password_verify($password, $row['pass'])) {

$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
$_SESSION['start'] = time();
$_SESSION['expire'] = $_SESSION['start'] + (300 * 60);

} else {
echo "Username o Password estan incorrectos.";

echo "<br><a href='login.html'>Volver a Intentarlo</a>";
}
mysqli_close($conexion);
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de VRM

Necesito cambiar contenido de div por php

Publicado por VRM (171 intervenciones) el 21/07/2016 08:49:58
Hola:

Una idea:

* En "checklogin.php" después de mysqli_close("conexion) coloca un salto a "login.php"
1
header('Location: login.php');

* El archivo que tiene el formulario de login debe ser de extensión php para poder ejecutar código php. Supongamos que se llama login.php y comenzas con:
1
2
3
4
5
<?php
     session_start();
     session_unset();// elimina las variables de sesión
     session_destroy();// destruye la sesión
?>

* En login.php desde el comienzo del formulario hasta su final, quedaría (e esquema):
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
     if ( isset($_SESSION[loggedin]) ) {
          if ( $_SESSION[loggedin] == true ) {
               echo "Usuario: ".$_SESSION[username]."<br>";
               echo "Estado: Conectado";
          }
     } else {
          ?>
           // Aquí iría todo el código del formulario
           <?php
     }
?>
// Continúa tu código html

Explicación breve: Si la verificación con "password_verify()" fue correcta se vuelve a enviar el control a la página de login. En la página de login se abre una sesión. Al llegar al formulario primero se comprueba si la variable de sesión "$_SESSION[loggedin] " existe y si es así se comprueba que es true (lo he puesto explicitamente para que quede más claro) y en este caso se muestra el nombre del usuario y que está conenectado y en otro caso el formulario de login.

Otra cosa que debes hacer es destruir la sesión antes del login porque si entra alguien, se loguea bien, y sale, la sesión sólo se destruye a las 5horas de haber entrado. De esta forma si vuelve a entrar otra persona ponga lo que ponga entrará; porque aún recuerda las variables de sesión del usuario anterior.

Suerte y saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Luis

Necesito cambiar contenido de div por php

Publicado por Luis (29 intervenciones) el 23/07/2016 01:11:02
Hola Victor, muchas gracias !!!
Estuve estudiando tus comentarios .. y entendí como debiera funcionar , ademas de resolver me has ayudado a razonar .

Slds !!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Víctor

Necesito cambiar contenido de div por php

Publicado por Víctor (171 intervenciones) el 23/07/2016 12:00:23
A tu disposición.

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar