PROBLEMA CON SESSIONI

thanatos

Utente Attivo
29 Gen 2021
28
0
1
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
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
 

thanatos

Utente Attivo
29 Gen 2021
28
0
1
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
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
cosa posso fare?
 
Discussioni simili
Autore Titolo Forum Risposte Data
L problema array con le sessioni PHP 1
R problema con le sessioni PHP 2
asevenx problema con le sessioni PHP 6
S Problema con sessioni PHP 4
I Problema con le sessioni PHP 2
P Problema con l'uso delle sessioni... PHP 4
P Problema con sessioni e aggiornamento profilo PHP 21
P Problema con sessioni PHP 10
M problema con le sessioni e get PHP 6
A problema con le sessioni PHP 19
S Problema con le sessioni PHP 14
F Rilanci di Eccezioni e Problema con le Sessioni PHP 1
E Problema con inserimenti di Link & sessioni PHP 6
P PRoblema con le sessioni PHP 1
metalgemini Problema con sessioni PHP 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18

Discussioni simili