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

    [PHP] Strno problema con le Sessioni

    Ciao a tutti,
    mi capita di avere uno strano problema con un piccolo script di login in cui faccio uso della funzione session_start():

    // inizio

    session_start();

    posto username
    e lo assegno a $_SESSION["username"];

    Se è settato $_SESSION["username"];
    da accesso
    includendo un file esterno // e qui sta il problema!
    altrimenti
    bisogna reimmettere i dati di autenticazione

    // fine

    Da quando includo il file esterno tramite include("file.php"); se non inserisco due volte i dati di autenticazione non riesco ad accedere!

    Spero sia stato chiaro.

    Come mai capita questo strano problema?


  2. #2
    invece di includere il file esegui un redirect al file con header location o con un refresh...

    il file di destinazione deve avere anche lui in cima allo script il session_start() ed i cookies devono essere abilitati.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    per essere sicuri che funzioni il tutto anche a cookies disabilitati conviene appendere anche il sid all'indirizzo del file dove si vuole usare la sessione dopo il login.

  4. #4
    Originariamente inviato da piero.mac
    invece di includere il file esegui un redirect al file con header location o con un refresh...

    il file di destinazione deve avere anche lui in cima allo script il session_start() ed i cookies devono essere abilitati.
    tutti i file di destinazione hanno in cima session_start();
    i cookies sono abilitati
    ho provato a fare il redirect con header location o con un refresh ma non mi funziona
    il problema rimane anche con il refresh in javascript ( location.href(); )

    Originariamente inviato da Ratatuia
    per essere sicuri che funzioni il tutto anche a cookies disabilitati conviene appendere anche il sid all'indirizzo del file dove si vuole usare la sessione dopo il login.
    è come se al primo post dell'username non venga passata la sessione...
    nulla da fare

  5. #5
    controlla gli allarmi del parser php....

    evidentemente mandi degli output al browser prima di aprire la sessione.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da piero.mac
    controlla gli allarmi del parser php....

    evidentemente mandi degli output al browser prima di aprire la sessione.


    non mi divrebbero già essere segnalati?
    ( Parse Error: ... )

  7. #7
    Originariamente inviato da nextpaco


    non mi divrebbero già essere segnalati?
    ( Parse Error: ... )
    se la segnalazione e' attiva.... puoi sempre andare a vedere nella cartella dove metti i file di sessione e vedere se ci sono e cosa contengono....

    il fatto che non ti riconosce lo user autenticato potrebbe essere:

    1) non scrive il file di sessione
    2) non controlli il contenuto del file di sessione al rientro nella pagina index.php
    3) cookie disabilitati sul browser.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    dunque, mi è successa la stessa cosa poco tempo fa.
    ho risolto distruggendo le sessioni nella pagina prima, cosa che mi ha lasciato alquanto perplesso in quanto se le distruggo alla pagina dove faccio gli scambi col database o alla pagina dove l'utente inserisce i dati di login dovrebbe essere uguale, no?
    comunque, fammi indovinare: sei su windows?

  9. #9
    Originariamente inviato da piero.mac
    se la segnalazione e' attiva.... puoi sempre andare a vedere nella cartella dove metti i file di sessione e vedere se ci sono e cosa contengono....

    il fatto che non ti riconosce lo user autenticato potrebbe essere:

    1) non scrive il file di sessione
    2) non controlli il contenuto del file di sessione al rientro nella pagina index.php
    3) cookie disabilitati sul browser.
    1) non ho accesso alla session.save_path, sono su server aruba // provo a cambiare cartella
    2) anche se non ritorno in index.php ma un'altra pagina con in cima session_start(); la storia è sempre quella
    3) i cookies sono abilitati!

    Originariamente inviato da KaNnA
    dunque, mi è successa la stessa cosa poco tempo fa.
    ho risolto distruggendo le sessioni nella pagina prima, cosa che mi ha lasciato alquanto perplesso in quanto se le distruggo alla pagina dove faccio gli scambi col database o alla pagina dove l'utente inserisce i dati di login dovrebbe essere uguale, no?
    comunque, fammi indovinare: sei su windows?
    si sono su IIS

  10. #10
    Originariamente inviato da nextpaco
    non ho accesso alla session.save_path, sono su server aruba // provo a cambiare cartella
    nulla da fare se cambio cartella con ini_set("session.save_path","percorso");
    non me le salva proprio...

    provo a contattare l'amministratore del server!

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.