Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Aruba e i problemi con le sessioni

    Ciao! Leggiucchiavo in giro per il forum che aruba presenta diversi problemi quando si usano le sessioni.
    Sono caduto anch'io nella sua rete per una questione che non ha assolutamente senso; ho circa una decina di pagine composte con il metodo classico: se $_SESSION[user] e $_SESSION[password] sono sbagliate o non esistono si ritorna al login con un header().

    Solo in una pagina, cliccando su un link per tornare indietro nella home mi salta questo meccanismo, per cui mi ritrovo con i dati non validi nella schermata di login, come se le due variabili di sessione si fossero cancellate. Tutte le altre pagine sono costruite con questo esatto ed identico metodo e i link alla home funzionano correttamente.

    Ma che follia è?

    AGGIUNTA:
    In quella determinata pagina creo una cartella (via php) sul server; questo forse fa qualche casino con i permessi?

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    sei sicuro di non aver sbagliato qualcosa tu?
    per esempio $_SESSION[user]
    sarebbe meglio scrivere $_SESSION['user']..
    poi magari sbaglio io...

  3. #3
    ciao telegio; hai ragione, qui ho scritto di fretta ma nel mio codice ho tutti gli apici al loro posto.

    vi posto un pezzo di codice che fa casino:

    codice:
    <?php
    session_start();
    if (!checkuser($_SESSION['nome'],$_SESSION['pass'],$db)) {
    	header("Location: http://www.sito.it/index.php");
    	exit;
    }
    ?>
    <html>
    (Tutto il sito con alcune operazioni in php)
    
    torna
    </html>
    La funzione checkuser:

    codice:
    function checkuser($nome,$pass,$db) {
    	$datiUtente = mysql_fetch_row(mysql_query("SELECT `nome`, `pass` FROM `utente` WHERE `nome` = '$nome' AND `pass` = '$pass'",$db));
    	if ($nome != $datiUtente[0] || $pass != $datiUtente[1] || $nome == "" || $pass == "")
    		return 0;
    	else return 1;
    Naturalmente anche home.php ha la stessa struttura con le stesse funzioni e stessi controlli. Solo che tornando ad home.php passando per questa pagina che vi ho mostrato... è come se mi annullasse i contenuti di $_SESSION[].
    :master:

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Di sicuro il problema è nel codice, io non ho mai avuto problemi del genere..

    Anche se non lavoro per l'hoster in questione (quindi non ci guadagno nulla a difenderlo), ma secondo me queste voci sono messe in giro da 2 tipi di programmatori:

    1. I concorrenti
    2. Chi non riesce a fare una cosa e da la colpa a qualcun'altro.

    ciao

    p.s.

    leggendo meglio il tuo codice, perchè metti nome utente e pass in sessione per poi rifare ogni volta una query?

    Metti direttamente una variabile $_SESSION['logged'] = 1 quando l'utente effettua correttamente il login, cosi eviti di fare N query quando te ne basta 1.

    ciao

  5. #5
    Gianaz, ottima dritta la tua! In effetti al momento faccio N query per visualizzare N pagine.. con il tuo metodo passo a una sola query per tutto.
    Bella idea.

    Approfondirò la questione, soprattutto per il punto numero 2

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    16
    ho avuto questo problema anche io, tutto ok in locale, on line invece mi sbarellava, ho risolto cambiando il non delle variabili di sessione, infatti ho notato che il problema che veniva fuori quando assegnavo un valore a una variabile $utente, mi modificava anche $_SESSION['utente'].
    Può dipendere dal settaggio di php.ini?

  7. #7
    Ciao,

    le discussioni vecchie di anni ed anni non vanno riuppate, gentilmente apri un nuovo thread.

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.