Visualizzazione dei risultati da 1 a 5 su 5

Discussione: AIUTO con session_id

  1. #1

    AIUTO con session_id

    Ciao a tutti
    ho bisogno di un grosso aiuto. Le ho provate tutte.

    Stò cercando di distruggere una sessione e generarne una nuova senza dover chiudere e riaprire il browser.
    Mi funziona con firefox e opera, ma con Explorer non succede nulla...


    Codice PHP:
    function rigenera()
    {
     
    $phpsid session_id(); 
    $query_sessione "SELECT * FROM tblordini WHERE tblordini.session_id='$phpsid'";
    $sessione mysql_query($query_sessione);
    if (
    $sessione!= ''){
    unset(
    $phpsid);
    session_unset();
    session_destroy();
    $_SESSION = array();
    }


    Grazie in anticipo

  2. #2
    Ciao, nel codice se ho capito bene, se la query restituisce record tu vorresti eliminare la variabile $phpsid e fare altre istruzioni.
    Se è così prova a fare questo:
    dopo aver eseguito la query ($sessione = mysql_query($query_sessione); )
    inserisci
    $numRecord = mysql_num_rows($sessione);
    ora vai ad eseguire il controllo sui numeri di record, ovvero:
    if($numRecord > 0 ){
    esegui unset e altre istruzioni.
    }

    Questo potrebbe essere un errore, perchè mysql_query restituisce un riferimento "resource" se la query restituisce dei record oppure false, se la query è sbagliata.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Ti ringrazio per la risposta ,

    Purtroppo non ci riesco . Non capisco perchè non riesco ad eliminare la sessione del tutto. Comunque ho optato per generarmi un codice alfanumerico per ogni utente. Quando termina l'acquisto gli do un

    unset ($_SESSION['nome_variabile']);

    e via...

    così almeno mi cancella la variabile e non mi interessa se il session ID rimane lo stesso.

    Se c'è qualuno che potrebbe spiegarmi bene come fare ad eliminare completamente i cookies che tengono la sessione sul computer dell'utente sarebbe geniale...

    vi ringrazioo per l'aiuto

  4. #4
    Comunque la sessione non dipende dai cookie, la sessione resta memorizzata sul server e scade nel momento in cui viene chiuso il browser.
    Poi considera che per rigenerare il session_id bisogna utilizzare la funzione session_regenerate_id();, quindi facendo unset($phpsid); vai a cancellare la variabile, ma l'id di sessione resta sempre quello, perchè non può essere eliminato, ma rigenerato mediante la funzione apposita.
    Questo però va fatto prima di aver stampato qualcosa a video, ovvero prima di stampare il tag <html>, quindi prima di inviare qualsiasi flusso in stampa.
    Spero di essermi spiegato bene.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  5. #5
    Grazie mille Codencode you'r a good man ,

    a dire il vero avevo provato quella possibilità, il problema era che mi rigenerava si l'ID di sessione ma solo della pagina dove l'avevo applicato. Nel momento in cui cliccavo per andare in una altra pagina mi dava il vecchio id.

    Credo però di aver capito qual'era il problema. io avevo associato la variabile di sessionone cos'ì:

    $phpsid=sesion_id();

    $_SESSION['ses_id']=$phpsid;

    e poi avevo rigenerato l'id ma senza riassegnarlo a $phpsid... insomma avevo fatto un pò di disordine nel mio codice. Adesso ho messo apposto tutto 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 © 2024 vBulletin Solutions, Inc. All rights reserved.