Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250

    sessione su dominio di 3 livello

    salve a tutti
    ho un portale composto da vari canali con domini di terzo livello.
    L'utente si registra nel sito www.pippo.it poi può navigare su alcuni canali legati a dei sottodomini tipo canale1.pippo.it, canale2.pippo.it, canale3.pippo.it.
    Esiste un modo per mantenere sempre la sessione nei vari sottodomini?
    Da come mi risulta ora, l'utente deve sempre ri-loggarsi in tutti i sottodomini che naviga.

    per il login uso questo script
    Codice PHP:
    if(($_POST[email])AND($_POST[pw]))
    {
        
    $r=mysql_query("SELECT * FROM $table WHERE email='$_POST[email]' AND pw='$_POST[pw]' AND attiva='si'");
        
    $d=mysql_fetch_array($r);
        
    $tot=mysql_num_rows($r);
        if(
    $tot)
        {
            
    $s_session "UPDATE $table SET session='$PHPSESSID' WHERE id='$d[id]'";
             
    $r_session mysql_query($s_session);
            
    $_SESSION['utente']=$d[user];
            
    $_SESSION['livello']=$d[categoria];
            
    $_SESSION['session']=$PHPSESSID;
            
    //controllo user e passwd da cookie 
            
    if(IsSet($_COOKIE['sav_user'])) 
            { 
                
    $info_cok=$_COOKIE['sav_user']; 
                
    $cok_user=strtok($info_cok,"%%"); 
                
    $cok_pass=strtok("%%"); 
                 
    setcookie("sav_user",$info_cok,time()+31536000); 
                 if(
    $cok_user==md5($d[user]) && $cok_pass==md5($d[pw]))
                 
    $_SESSION['utente']=$d[user];
            } 
                
    header("Location: ../pannello.phtml");
                }else{
                
    header("Location: ../index.phtml?msg=error");
                }            

    Qualcuno ha avuto esperienze del genere? grazie!

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    dal momento che utilizzi sessioni avrai sicuramente uno script php che includi in ogni pagina in cui gestisci la sessione...

    prova a dichiarare una cartella di sessione raggiungibile da tutti i sottodomini
    Codice PHP:
    session_save_path('cartella'); 
    e vedi se ti può essere di aiuto

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    no, non salvo la sessione in una cartella specifica in quanto è un portale abbastanza complesso e ricco di directory.
    Cmque ho fatto una ricerca in rete. Ho trovato la funzione
    Codice PHP:
    session_set_cookie_params('.domain.tld'); 
    Il link alla pagina è questo:
    http://forum.html.it/forum/showthrea...essione+domini

    Ho fatto una prova, ho modificato il mio script:

    Nel sottodominio: http://account.pippo.it
    ho inserito questo codice nella pagina di login:
    Codice PHP:
    if(($_POST[email])AND($_POST[pw]))
    {
        
    $r=mysql_query("SELECT * FROM $table WHERE email='$_POST[email]' AND pw='$_POST[pw]' AND attiva='si');
        
    $d=mysql_fetch_array($r);
        
    $tot=mysql_num_rows($r);
        if(
    $tot)
        {
            
    $s_session = "UPDATE $table SET session='$PHPSESSID' WHERE id='$d[id]'";
             
    $r_session = mysql_query($s_session);
            
    $_SESSION['utente']=$d[user];
            
    $_SESSION['livello']=$d[categoria];
            
    $_SESSION['session']=$PHPSESSID;
            
            //registro i cookie
            setcookie("
    login", "ok", time()+(3600*6), "/", ".pippo.it");
               
    $_SESSION['utente']=$d[user];
               header("
    Location: ../pannello.phtml");
        
        }else{
            
            header("
    Location: ../index.phtml?msg=error");
        
        }
                

    Poi sono andato nel sottodominio: http://prova.pippo.it e ho inserito a inizio pagina:

    Codice PHP:
    session_set_cookie_params('.pippo.it'); 
    session_start(); 
    niente da fare! non me lo prende! Qualche consiglio?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    up

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.