Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-09-2007, 15:05   #1
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
[PHP] Anomalia della sessione

Ho alcune pagine dove l'utente può accedervi soltanto tramite login.

La struttura semplificata è questa:

index.php invia alla pag2.php user e password, i quali vengono memorizzati in $_SESSION["user"] e $_SESSION["pwd"]; se passo alla pag3.php non riesco a recuperare i valori delle variabili di sessione solo la prima volta.

A questo punto se accedo alla pag2.php le variabili di sessione non contengono più nulla (vedi codice) e quindi devo rifare il login.
Rifacendo il login tutto funziona.

Il codice è:

Codice PHP:
pag2.php

<?php
        
@session_start();

        if(isset(
$_REQUEST["user"]) AND isset($_REQUEST["pass"]))
        {
                
$_SESSION["user"] = $_REQUEST['user'];
                
$_SESSION["pwd"] = $_REQUEST['pass'];
                
                echo(
"i valori di sessione sono:<br>");
                echo(
$_SESSION["user"]."<br>".$_SESSION["pwd"]);

        echo (
"<br><a href='pag3.php'>pagina 3</a>");

    }
    else
        {
                
$c r();
                echo (
"<br>Nome utente o password non validi");
                echo (
"<br><a href='index.php?r=$c'>riloggati</a>");
                
session_destroy();
    }



pag3.php

    
@session_start();

    if(isset(
$_SESSION["user"]) AND isset($_SESSION["pwd"]))
    {
        if(isset(
$_SESSION["user"]) == "pippo" AND isset($_SESSION["pwd"]) == "pluto")
        {           
                echo (
"<br>".$_SESSION["user"]."<br>".$_SESSION["pwd"]);
        echo (
"<br><a href='pag2.php>indietro</a>");  
        else
        {
            echo (
"utente non autorizzato");
        }
    }
    else
    {
        echo (
"<br>Sessione non inizializzata");
    }

?>
Ovviamente user e password verranno confrontati con quelli presenti in un database e non come ho fatto ora.
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 16:50   #2
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Questo controllo
Codice:
if(isset($_SESSION["user"]) == "pippo" AND isset($_SESSION["pwd"]) == "pluto")
non ha senso, isset() è una funziona che ha come valore di ritorno un boolean, e non ha quindi nessun senso confrontarlo con una stringa.

$_REQUEST contiene solo le variabili presenti anche in $_GET e $_POST non in $_SESSION, e (mio consiglio) è meglio se usi $_POST se le variabili le hai passato tramite post o $_GET nel caso le hai passate da url.

In definitva ecco il tuo problema:
Compili un form che ti spedisce le variabili passate con get o post a pag2.php, dove fai un isset($_REQUEST...) che darà esito positivo perchè gli hai appena passato le variabili che ora sono momentanemanete anche in quell'array.
Il controllo passa e setti la sessione.
Vai a pag3.php dove fai un controllo privo di qualunque senso logico, a questo punto ritorni a pag2.php ma stavolta non gli stai passando nulla da get o post, quindi il controllo sull'array $_REQUEST non passa ed ecco che ti sembra che la tua sessione non è stata settata.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 17:16   #3
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Concordo sul controllo privo di logica alla pag3.
Non capisco perché non riesco a leggere le variabili di sessione la prima volta che effettuo l'accesso, rifacendo il login funziona tutto (se chiudo e riapro il browser o se digito il nome della pagina non riesco ad accedervi, proprio come voglio io).
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 17:18   #4
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ma dal tuo codice, secondo te, dove le vorresti leggere le variabili di sessione?
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 17:27   #5
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Sia nella pag2 che nella pag3
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 17:32   #6
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
In pag2 non controlli la sessione ma l'array $_REQUEST che è tutt'altra cosa.

prova questo...
Codice:
        session_start();

        if(isset($_SESSION["user"])&&isset($_SESSION["pass"])){
                echo "Risulti già loggato - Utente: ".$_SESSION["user"];
                exit();
        }

        if(isset($_POST["user"])&&isset($_POST["pass"])){
                $_SESSION["user"] = $_REQUEST['user'];
                $_SESSION["pwd"] = $_REQUEST['pass'];
                
                echo("Login effetuato con valori:<br>");
                echo($_SESSION["user"]."<br>".$_SESSION["pwd"]);
                echo ("<br><a href='pag3.php'>pagina 3</a>");
        }
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 17:52   #7
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Tutto come prima.

La pag2 mostra user e password, poi alla pag3 le variabili di sessione non vengono stampate.
Rifacendo il login riesco a visualizzare tutto
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 17:54   #8
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
la pag3 va corretta nn va bene la tua, rifalla e ripostala.
Se usi il mio codice per la pag2 così cm'è deve funzionare.

Ultima modifica di MEMon : 07-09-2007 alle 17:56.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 18:14   #9
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
login -> pag2: visualizza user e password prese dalle variabili di sessione
pag2 -> pag3: non ci sono le variabili di sessione
pag3 -> pag2: non visualizza più il contenuto delle variabili di sessione

pag2 (o pag3) -> login -> pag2: visualizza user e password come prima
pag2 -> pag3: visualizza le variabili di sessione
pag3 -> pag2: visualizza le variabili di sessione


Il codice della terza pagina:

Codice PHP:
@session_start();
    include_once(
"funzioni.php");
      

    if(isset(
$_SESSION["user"]) AND isset($_SESSION["pwd"]))
    {

        echo (
"<br>".$_SESSION["user"]."<br>".$_SESSION["pwd"]);

        
$url "pag2.php"
        echo (
"<br><a href=\"javascript:window.location.replace('$url');\">pagina2</a>"); 
        echo (
"<br><a href='index.php?sess=2'>Disconnetti</a>");        
    
    }
    else
    {
        echo (
"<br>Manca la sessione in pagina 3");
         
    } 
Grazie per la disponibilità che fino ad ora mi hai dato
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)

Ultima modifica di Fabiorayden : 07-09-2007 alle 18:25.
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 18:30   #10
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Ora anche il passaggio dalla pag2 alla pag3 funziona, non funziona quello da pag3 a pag2 (come sempre solo la prima volta, dopo funziona tutto)

Edit: su server remoto... in locale non è cambiato nulla.
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)

Ultima modifica di Fabiorayden : 07-09-2007 alle 18:33.
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 08:32   #11
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Ora mi sta sorgendo un dubbio...
Non è che il mio problema è dovuto a qualche impostazione errata nel php.ini?
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 11:41   #12
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Scusa, potresti postare il codice delle 3 pagine che usi? Compreso quella dove ti logghi?
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 12:06   #13
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Quote:
Originariamente inviato da MEMon Guarda i messaggi
Scusa, potresti postare il codice delle 3 pagine che usi? Compreso quella dove ti logghi?
Il problema, a quanto pare, era nella pag2, avevo inserito del codice html prima di session_start (cosa che non avrai dovuto fare...).

Adesso sto controllando che user e password vengano passate correttamente di pagina in pagina
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 12:15   #14
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Per quello volevo vedere il codice vero e proprio...
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 13:11   #15
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Ora posso confermare quanto detto prima.
Il problema era il codice html prima di session_start

Grazie MEMon per l'aiuto
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Amazon, crollano i prezzi su robot aspir...
Amazon Haul lancia il -20% sulle offerte...
Apple aggiorna le liste di prodotti vint...
Tutti i dispositivi Amazon in offerta og...
Non solo smartphone, cuffie e orologi: N...
MacBook Air M4 2025 in offerta su Amazon...
Xiaomi porta HyperOS 3.1: rollout avviat...
Portatile HP super completo a 649€: 32GB...
OnePlus spoilera il nuovo Nord 6: il mid...
Nuova rimodulazione da Fastweb: è...
NASA: lanciata la missione Artemis II ve...
Intel riacquista la Fab 34 in Irlanda, u...
SpaceX ha lanciato la missione Transport...
Occhiali smart in affitto: la nuova stra...
L'aeroplano supersonico ''silenzioso'' N...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:48.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v