Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-09-2007, 16: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, 17: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, 18: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, 18: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, 18: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, 18: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, 18: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, 18: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 18:56.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 19: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 19:25.
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2007, 19: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 19:33.
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 09: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, 12: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, 13: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, 13: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, 14: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 vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
iPhone Fold: scorte limitate al lancio m...
OpenAI porterà la pubblicità in ChatGPT ...
TSMC aumenterà ancora i prezzi: nel 2026...
Marvel pubblica anche il secondo teaser ...
Nuovo accordo tra xAI e il Pentagono: l'...
La famiglia Xiaomi 17 sta per registrare...
Nuove auto elettriche che vedremo sul me...
E-bike illegali, a Verona il più ...
Quali sono i giochi più venduti su Steam...
HONOR sta per lanciare un nuovo smartpho...
Jared Isaacman sarà alla guida de...
Il Tesla Cybertruck non arriverà ...
Xiaomi Watch 5 è ufficiale: architettura...
CD Projekt vende GOG: il co-fondatore Mi...
Il meglio di Amazon in 26 prodotti, aggi...
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: 21:22.


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