Sto creando una pagina con delle sessioni php. L'idea è semplice: se non esiste una sessione stampo un codice html con un form di login che punta a uno script php per la creazione della sessione e reindirizza alla root, se la sessione esiste mostra la pagina vera e propria. Questo è quello che ho scritto:
index.php
login.php
Il problema è che nonostante la variabile di sessione venga configurata e gli venga assegnato un valore, la pagina index.php mi restituisce sempre il codice contenuto nell'else
index.php
PHP:
<?php
if (isset($_SESSION['ip'])) {
echo('
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>NOME SITO</title>
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<div class="header">
<div class="nome item"><img class="logo" src="" alt=""></div>
</div>
<div class="corpo">
<div class="provaPost">
<p class="user">User 1</p>
<p class="post">Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas adipisci ratione, similique illum aspernatur architecto recusandae voluptatibus. Cupiditate soluta cum ut, praesentium sint, quo, incidunt cumque molestias velit sed molestiae?</p>
<p class="segnala"><a href="">SEGNALA</a></p>
</div>
<div class="provaPost">
<p class="user">User 1</p>
<p class="post">Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas adipisci ratione, similique illum aspernatur architecto recusandae voluptatibus. Cupiditate soluta cum ut, praesentium sint, quo, incidunt cumque molestias velit sed molestiae?</p>
</div>
<div class="provaPost">
<p class="user">User 1</p>
<p class="post">Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas adipisci ratione, similique illum aspernatur architecto recusandae voluptatibus. Cupiditate soluta cum ut, praesentium sint, quo, incidunt cumque molestias velit sed molestiae?</p>
</div>
<div class="provaPost">
<p class="user">User 1</p>
<p class="post">Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas adipisci ratione, similique illum aspernatur architecto recusandae voluptatibus. Cupiditate soluta cum ut, praesentium sint, quo, incidunt cumque molestias velit sed molestiae?</p>
</div>
<div class="provaPost">
<p class="user">User 1</p>
<p class="post">Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas adipisci ratione, similique illum aspernatur architecto recusandae voluptatibus. Cupiditate soluta cum ut, praesentium sint, quo, incidunt cumque molestias velit sed molestiae?</p>
</div>
<div class="provaPost">
<p class="user">User 1</p>
<p class="post">Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas adipisci ratione, similique illum aspernatur architecto recusandae voluptatibus. Cupiditate soluta cum ut, praesentium sint, quo, incidunt cumque molestias velit sed molestiae?</p>
</div>
<div class="provaPost">
<p class="user">User 1</p>
<p class="post">Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas adipisci ratione, similique illum aspernatur architecto recusandae voluptatibus. Cupiditate soluta cum ut, praesentium sint, quo, incidunt cumque molestias velit sed molestiae?</p>
</div>
</div>
<div class="cc">
<br>
<center>
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">
<img alt="Licenza Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" />
</a>
</center>
<center>
<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">NOME SITO </span>di<a xmlns:cc="http://creativecommons.org/ns#" href="" property="cc:attributionName" rel="cc:attributionURL"> NOME SITO</a> è distribuito con Licenza <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribuzione - Non commerciale - Non opere derivate 4.0 Internazionale</a>.
</center>
</div>
<footer class="footer">
<div class="home"><button class="button" onclick="homeRedirect()"><img class="buttonHomeImg" src="https://i.ibb.co/0jKBpJB/noun-House-210819.png" alt=""></button></div>
<div class="search"><button class="button" onclick="searchRedirect()"><img class="buttonSearchImg" src="https://i.ibb.co/xgYgYKZ/noun-Magnifying-Glass-210896.png" alt=""></button></div>
<div class="add"><button class="button" onclick="addPostRedirect()"><img class="buttonAddImg" src="https://i.ibb.co/JjHB1nk/noun-add-2191689.png" alt=""></button></div>
<div class="profilo"><button class="button" onclick="profileRedirect()"><img class="buttonProfiloImg" src="https://i.ibb.co/q9Wbrwp/noun-User-210839.png" alt=""></button></div>
<div class="settings"><button class="button" onclick="settingsRedirect()"><img class="buttonSettingsImg" src="https://i.ibb.co/YR1CYpP/noun-cog-210910.png" alt=""></button></div>
</footer>
</body>
<script src="script.js"></script>
</html>
');
} else {
echo('
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>NOME SITO</title>
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<div class="sfondo">
<center>
<h1 class="avvicinaTitolo">NOME SITO</h1>
<h4 class="avvicinaSottotitolo">TESTO</h4>
</center>
<div class="principal">
<h2 class="scrittaLogin">LOG-IN</h2>
<div class="login">
<form class="formContainer" action="login.php" method="post">
<center>
<input class="input" type="text" name="user" id="user" placeholder="Username">
</center>
<center>
<input class="input" type="password" name="pass" id="pass" placeholder="Password" required>
</center>
<center>
<input class="button" type="submit" value="LOG-IN" id="buttonLog">
</center>
</form>
</div>
<h2 class="scrittaRegistrati">REGISTRATI</h2>
<div class="register">
<form class="formContainerReg" action="register.php" method="post">
<center>
<input class="input" type="email" name="email" id="email" placeholder="E-mail">
</center>
<center>
<input class="button" type="submit" value="REGISTRATI" id="buttonReg">
</center>
</form>
</div>
</div>
</div>
</body>
</html>
');
}
?>
login.php
PHP:
<?php
session_start();
$databaseHost = 'localhost';
$databaseUser = '';
$database = mysqli_connect($databaseHost, $databaseUser, "", "");
$ip = $_SERVER['REMOTE_ADDR'];
$data = date('r');
$username = $_POST['user'];
$passwordForm = $_POST['pass'];
$queryPassword = "SELECT `password` FROM `utenti` WHERE `username` = \"$username\"";
$queryUtenti = 'SELECT `username` FROM `utenti` WHERE 1';
$password = mysqli_query($database, $queryPassword);
$utenti = mysqli_query($database, $queryUtenti);
while ($rowPassword = mysqli_fetch_array($password)) {
$elencoPassword = $rowPassword["password"];
}
while ($rowUtenti = mysqli_fetch_array($utenti)) {
$elencoUtenti = $rowUtenti["username"];
}
if ($passwordForm == $elencoPassword) {
$_SESSION['ip'] = $ip;
$_SESSION['data'] = $data;
$_SESSION['user'] = $username;
$_SESSION['password'] = $passwordForm;
#echo($_SESSION['ip'] . " " . $_SESSION['user'] . " " . $_SESSION['password']);
header("location: /");
} else {
echo('
<div class="header">
<div class="nome item" style="text-align: center;"><img class="logo" style="height: 45px; width: auto;" src="" alt=""></div>
</div>
<br>
<center>
<h3>PASSWORD ERRATA</h3>
</center>
');
}
?>
Il problema è che nonostante la variabile di sessione venga configurata e gli venga assegnato un valore, la pagina index.php mi restituisce sempre il codice contenuto nell'else