session_start() esta establecido en el index el cual requiere estos dos. Agradezco cualquier orientación saludos!
El codigo es el siguiente:
Código PHP:
<?php
if (isset($_POST["user"]) && isset($_POST["password"]) ) {
$user = checkLogin($_POST["user"], $_POST["password"]);
if($user) {
$_SESSION["user"] = $user;
}
} else {
$user = FALSE;
}
?>
<header class="upper">
<nav id="header-container">
<ul>
<li><a href="index.php">Inicio</a></li>
<li><a title="Quien soy" class="upper" href="#">Quien soy</a></li>
<li><a title="Diseño Web" id="dropper" href="#">Diseño Web</a>
<ul class="drop-menu upper">
<li><a href="#">Consultoria</a></li>
<hr>
<li><a title="Proyectos" href="">Proyectos</a></li>
</ul>
</li>
<li ><a title="Blog" class="upper" href="#">Blog</a></li>
<li ><a tittle="Contacto" class="upper" href="#">Contacto</a></li>
</ul>
<?php
echo "<div class='login'>";
if (isLogin()) {
echo "<h3>Bienvenido"." ".$user["user"]."!</h3>";
echo "<a href='".closeSession()."'><button class='danger-red'>Cerrar Sesion</button></a>";
}
if (!isLogin()) {
echo "<button class='aqua-green login-btn'>Iniciar Sesión</button>
<a href='index.php?page=sign-up'><button class='orange'>Registrarme</button></a>";
}
if (wrongData($user)) {
echo "<h3 style='position:absolute; color:red'><em>Datos invalidos</em></h3>";
}
echo "</div>";
?>
<div class="rockerModal">
<?php
require TEMPLATE_PATH.'form.html';
?>
</div>
</nav>
</header>
Código PHP:
<?php
function checkLogin($user,$password) {
$connect = connect();
$password = mysqli_real_escape_string($connect,$password);
$user = mysqli_real_escape_string($connect,$user);
$fields = "id,user,password,name,is_author,is_root";
$sql = "SELECT $fields FROM users WHERE user='$user' AND password='$password'";
$result = queryArray($sql);
if ($result) {
return $result[0];
}
return FALSE;
}
function closeSession(){
session_destroy();
}
function isLogin(){
if (isset($_SESSION["user"])) {
return TRUE;
}
return FALSE;
}
function wrongData($user) {
if (isset($_POST["user"]) && $user["user"] != $_POST["user"] && isset($user)) {
return TRUE;
}
return FALSE;
}