[PHP] problemi con le sessioni

smartwork

Nuovo Utente
15 Apr 2018
25
0
1
24
PHP:
/*INDEX.PHP*/
<!DOCTYPE html>
<html>
    <head>
        <title>index.php</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta charset="utf-8">
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/3.14.1/math.min.js"></script>
        <link href="config.css" type="text/css" rel="stylesheet">
    </head>

    <body>

        <div id="form-riconoscimento">
            <h4>modulo di riconoscimento</h4>
            <button onclick="generaUsername()">genera username</button>
                <table>
                    <form method="post" action="server.php">

                        <tr>
                            <td><input type="text" name="username" id="username" required></td>
                        </tr>  
                        <tr>  
                            <td><input type="password" name="password" placeholder="password"></td>
                        </tr>
                        <tr>
                            <td><input type="radio" name="opzioneUtente" value="registrareUtente">registrasi</td></tr>
                        <tr>
                            <td><input type="radio" name="opzioneUtente" value="loggareUtente" checked>accedere</td>
                        </tr>
                        <tr>
                            <td><input type="submit" value="invio"></td></tr>
                    </form>
                </table>
        </div>
        <script type="text/javascript">

            function generaUsername(){
                        codiceAlfa = "HAvc13nmsdw";
            caratteri = codiceAlfa.split(""); //return array
            codici = [];
                  for(i=0; i<=caratteri.length; i++){
                      codici.push(caratteri[math.randomInt(caratteri.length)]) ;
                  }
                codice = codici.join(""); //return string
                document.getElementById("username").value=codice;
            }
         
         
                username = document.getElementById("username");
         
                if(navigator.userAgent == "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36")
                {username.setAttribute("value", "crom");
                }
                else if(navigator.userAgent == "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0")
                {username.setAttribute("value", "firefox");  }  
           
 
        </script>

</body>
</html>
Codice PHP:
<?php
/*SERVER.PHP*/
session_start();
$conex = mysql_connect('localhost', 'root');
mysql_select_db("my_laboraccio", $conex);

/*variabili di index.php*/
$uname = $_POST['username'];
$pw =  $_POST['password'];
$opzioneUtente = $_POST['opzioneUtente'];

/*variabili di profilo.php */
echo $_GET['sms'];




if($_POST['sessione'] == "logout") {
    session_unset();
    session_destroy();
    header("Refresh:10; url=http://www.laboraccio.altervista.org/");
    echo "sessione scaduta";
}
    function registraUtente(){
        global $uname;
        echo $uname;
        global $pw;
        $sql = "SELECT * FROM utenti WHERE username='$uname'";
        $resource = mysql_query($sql) or die (mysql_error());
        $result = mysql_num_rows($resource);
        echo $result;
        if($result == 0) {
            $sql = "INSERT INTO utenti (id, username, password) VALUES (NULL, '$uname', '$pw')";
            mysql_query($sql);
            header("Refresh:10; url=http://www.laboraccio.altervista.org/");
              echo "nuovo utente creato";
 
            echo "registrazione completata";
        }
        elseif($result == 1){
            echo "username gia in uso, riprova con un altro";
              header("Refresh:10; url=http://www.laboraccio.altervista.org/");
           }
    }
 
        function loggareUtente(){
        global $uname;
        global $pw;
        $sql = "SELECT * FROM utenti WHERE username='$uname' AND password='$pw'";
        $resource = mysql_query($sql) or die (mysql_error());
        $result = mysql_num_rows($resource);
        if($result == 1) {
            $_SESSION['username'] = $uname;
            $_SESSION['password'] = $pw;
            echo "benvenuto alla tua area personale".$uname;
            header("location:http://www.laboraccio.altervista.org/profilo.php");

     
        }
        elseif($result == 0) {print "utente non valido";
        header("Refresh:10; url=http://www.laboraccio.altervista.org/");
        }

 
    }


if($opzioneUtente == 'registrareUtente'){
    registraUtente();
}
elseif($opzioneUtente == "loggareUtente") {
    loggareUtente();
}

?>
Codice PHP:
PHP:
<?php

/*PROFILO.PHP*/
session_start();

if(!isset($_SESSION['username'])) {
    header("location: http://laboraccio.altervista.org/");
}

if(isset($_SESSION['username'])){
echo $_SESSION['username'];
}
?>
Ogni volta che faccio login mi rimanda sempre al index
 
Ultima modifica di un moderatore:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
3.933
292
83
@smartwork
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
php.png
quando posti del codice PHP e il tag
code.gif
per il codice generico, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 

marino51

Utente Attivo
28 Feb 2013
2.588
130
63
Lombardia
ho rivisto lo script "server.php" commentando MySQL e simulandone il funzionamento,
eseguilo senza modifiche e successivamente attiva le funzioni MySQL
da buon ultimo togli le "trace"
PHP:
<?php
session_start();

error_reporting(E_ALL);

echo "TRACE: server.php<br />";

$uname         = $_POST['username'];
$pw            = $_POST['password'];
$opzioneUtente = $_POST['opzioneUtente'];

// echo $_GET['sms'];

if(isset($_POST['sessione']) and $_POST['sessione'] == "logout")
{
    echo "TRACE: logout<br />";

    session_unset();
    session_destroy();
    echo "sessione scaduta";
    header("Refresh:10; url=http://www.laboraccio.altervista.org/");
}

function registraUtente()
{
    global $uname, $pw;

    echo "TRACE: registraUtente = ".$uname."<br />";

    //$conex = mysql_connect('localhost', 'root');
    //mysql_select_db("my_laboraccio", $conex);

    $sql = "SELECT * FROM utenti WHERE username='$uname'";
    echo $sql."<br />";

    //$resource = mysql_query($sql) or die (mysql_error());
    //$result   = mysql_num_rows($resource);
    $result = 0;

    if($result == 0)
    {
        $sql = "INSERT INTO utenti (id, username, password) VALUES (NULL, '$uname', '$pw')";
        echo $sql."<br />";

        //mysql_query($sql) or die (mysql_error());

        echo "nuovo utente creato, registrazione completata";
        header("Refresh:10; url=http://www.laboraccio.altervista.org/");
    }
    else
    {
        echo "username gia in uso, riprova con un altro";
        header("Refresh:10; url=http://www.laboraccio.altervista.org/");
    }
}

function loggareUtente()
{
    global $uname, $pw;

    echo "TRACE: loggareUtente = ".$uname."<br />";

    //$conex = mysql_connect('localhost', 'root');
    //mysql_select_db("my_laboraccio", $conex);

    $sql = "SELECT * FROM utenti WHERE username='$uname' AND password='$pw'";
    echo $sql."<br />";

    //$resource = mysql_query($sql) or die (mysql_error());
    //$result   = mysql_num_rows($resource);
    $result = 1;

    if($result == 0)
    {
        print "utente non valido"; 
        header("Refresh:10; url=http://www.laboraccio.altervista.org/");
    }
    else
    {
        $_SESSION['username'] = $uname;
        $_SESSION['password'] = $pw;

        echo "benvenuto alla tua area personale ".$uname;
        //header("location:http://www.laboraccio.altervista.org/profilo.php");
        header("location:http://localhost/test_site/PHP/TEST/_MrWebMasterUsers/_riccardo94/profilo.php");
    }
}

if($opzioneUtente == 'registrareUtente')
{
    registraUtente();
}
elseif($opzioneUtente == "loggareUtente")
{
    loggareUtente();
}
?>