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

    session id: come passarlo con post?

    ragazzi la session id come tutti sappiamo è memorizzata nei cookie, come faccio a passarla ad un'altra pagina, magari tramite un modulo, magari con post, per non vedere la stringa di interrogazione sporca?
    emi sapete dire se passandolo con post le variabili di sessione che ho registrato dalle pagine precedenti sono ancora reperibili?

    Grazie

  2. #2
    se non ricordo male...
    alll'interno dei tag <form>
    Codice PHP:
    <input type="hidden" name="id" value="$id"

  3. #3
    ok, e una volta passato con un hidden, come faccio a recuperarlo dall'altra pagina?
    lo devo recuperare? lo devo inviare al server?
    come?

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    le variabili di sessione sono visibili se metti session_start() all'inizio.
    per recuperare il valore deil form usa $sessione=$_POST['id'];

  5. #5
    ragazzi, scusatemi:
    io metto session_start() all'inizio
    poi per non memorizzare la sessione nel cookie metto un campo hidden che passo attraverso il post e poi altre variabili tipo $_SESSION['prova'] = "prova";
    ora quando l'utente clicca sul submit, il controllo passa all'altra pagina, mettiamo il caso che l'utente non abbia i cookie attivati:
    cosa succede?
    posso recuperare la variabile di sessione prova, oppure prima di farlo devo fare qualcosa con il campo idden che contiene il SID?

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    sulla pagina di arrivo col post metti
    Codice PHP:
    if (issset($_SESSION['prova'])) {
             
    $sessione=$_SESSION['prova'];
    } else {
             
    $sessione=$_POST['id???prova']; 


  7. #7
    Originariamente inviato da stabi
    sulla pagina di arrivo col post metti
    Codice PHP:
    if (issset($_SESSION['prova'])) {
             
    $sessione=$_SESSION['prova'];
    } else {
             
    $sessione=$_POST['id???prova']; 



    praticamente qui verifica se il passaggio è avvenuto "automaticamente" e nel caso non fosse così, cioè non ha i cookie, prende l'id lo invia al server e vede la variabile di sessione da me scelta vero?


    Ma a


    $sessione=$_POST['id???prova'];

    "id???prova" che ci devo mettere????

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    il nome del campo nascosto della form
    <input type="hidden" name="id" value="$id">

  9. #9
    scusami ma non capisco...
    cioè a me serve fare questo:
    un utente ha i cookie disabilitati
    quindi devo passare l'ide della sessione da una pagina a un'altra per far capire al server dove andare a prendere le variabili...
    bazzicando su internet ho visto che basta metterlo in un array superglobale (quindi anche post) e poi diciamo che lo prende in automatico
    quindi nel mio script dove ho 2 pagine e da pagina 1 vado a pagina 2
    metto nella pagina 1 un campo hidden con il valore della session id
    e poi basta che nella pagina 2 metto session_start() e mi prende l'id di sessione vecchio:
    a questo punto mi sorge un dubbio:
    nel campo name dell'hidden, devo per forza mettere PHPSESSID o, qualsiasi nome ci metta lo riconosce in automatico?
    E dato che ci siamo mi sapreste dire come distruggere completamente una sessione?
    perchè ste caspita di sessioni a volte funzionano, a volte no...sono un po fatiscienti

    Grazie

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    4
    Ciao the darkness
    premetto di non essere un esperto, ma credo di poterti aiutare.
    Se non ho capito male, il tuo problema è quello di mantenere la sessione attiva in più pagine anche se il tuo visitatore ha disabilitato i cookies.
    La soluzione è fornita da PHP stesso, non dovrai far altro che aggiungere " sid " a tutti i tuo link.

    <?
    session_start();
    $_SESSION["prova"] = "prova";
    echo "http://tuosito/prova.php?".sid;
    ?>

    In questo modo, se il visitatore ha i cookies attivi l'id di sessione verrà memorizzato nel cookies normalmente, in caso contrario sarà PHP ad inserire l'id nella barra degli indirizzi dove verrà prelevato da session_start(). Per ottenere i valori memorizzati nelle variabili di sessione non dovrai fare altro che richiamarle ( Es. echo $_SESSION["prova"].

    Per distruggere la sessione ti basterà inserire i seguenti comandi :
    $_SESSION = array(); che cancellerà tutte le variabili inserite
    session_destroy; che distruggerà la sessione

    Ricorda che TUTTE le pagine devono riportare session_start().

    Ciao Al.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.