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

    [php] : problemi con login

    io non capisco ho questo script all'entrata della mia homePage:
    codice:
    <?
    	require_once('SmartyConf.php');
     	require_once ('db_use.php');
    
     	session_start();
    	if(!isset ($_SESSION['username'] ) )
    	{
    		require_once('cookieCheck.php');
    	}
    	else 
    	{
    		printf("SESSIONE SETTATO!\n username1 :%s",$_SESSION['username']);
    		
    	}
    	if (isset($_SERVER['badcookie']))
    		print("cookie errato");
    	
    	if ( $_SESSION['username']=="ospite" )
    	{
    		require_once('logCheck.php');
    		printf("username2=%s",$_SESSION['username']);
    	}
    	else
    	{
    		$smarty->assign('ErrLog', "0" );
    		printf("sessione già aperta");
    	}
    		
    
    	$smarty->assign('username',$_SESSION['username']);
    	$smarty->display("index.tpl");
    ?>
    e funziona alla grande...

    ma se faccio aggiorna con IE tutto ok, con Firefox come se non fosse mai esistita la sessione...xkè?

  2. #2
    uso un template.. smarty ...
    i file cookieCheck.php
    codice:
    <?
    		//non sono loggato
    		if( isset($_COOKIE['id'] ) ) 
    		{	
    			//copia l'id di sessione che c'è nel cookie
    			$id =$_COOKIE['id'] ;
    			
    			//trova la sessione nella tabella sessioni per vedere se il cookie e valdio
    			$trovato = findSession($id);
    
    			//è giusto?
    			if ($trovato )
    			{ 
    				
    				//nel il cookie caso sia valido
    				//trova il nick al quale è associato l'id di sessione
    				$nick = findNickSessione( $id) ;
    				printf("il coockie ha funzionato \n il tuo SESSION  name non è settato e nick %s :",$nick );
    				
    				//inserisce il nick tra gli utenti online
    				startOnline($nick);
    
    				//cancella gli offline
    				delOffline();
    
    				//crea un nuovo id di sessione
    				srand ((double)microtime()*1000000 );
       				$session_id = md5(uniqid( rand () ) );
    				session_id($session_id);
    				$new = session_id();
    				printf("nuova sessione : %s     ", $new );
    				printf("vecchia sessione : %s   ", $id );
    				
    				//Imposta il nick di sessione
       				$_SESSION['username'] = $nick;
    
    				//setta il cookie con il nuovo id di sessione
    				setcookie ('id' ,session_id() ,time()+350 );
    				
    				
    				//prendo last action
    				//getLastAction($id);
    				
    				//sostituisce la nuova sessione con la vecchia in SESSION
    				destroyOldSession($id);
    				newSession($new,$nick);
    			}
    			else 
    			{ // il cookie è corrotto
    				//lo cancello e lo metto come ospite
    				setcookie("id","");
    				header("Location: ".$_SERVER["PHP_SELF"]."?badcookie=1" );
    				$_SESSION['username'] ="ospite";
    			}	
    			
    		}
    		else 
    		{	
    			//il coockie non c'è!
    			printf("sei un nuovo utente");
    			//setto il username a ospite
    			$_SESSION['username'] ="ospite";
    		}
    
    ?>

  3. #3
    e il file logCheck :

    [CODE]
    <?
    require_once("db_use.php");
    require_once('SmartyConf.php');

    if (isset($_POST['user']) && isset($_POST['pass']))
    {
    $esito = contlog($_POST['user'],$_POST['pass']);

    if ($esito)
    {
    //setta l'username di sessione
    $_SESSION['username'] = $user;

    //crea un nuovo id di sessione
    srand ((double)microtime()*1000000 );
    $session_id = md5(uniqid( rand () ) );
    session_id($session_id);

    //inserisce l'utente tra gli online
    printf("primo start online");
    startOnline($user);
    //cancella gli offline
    delOffline();


    //setto il nuovo cookie
    setcookie ('id' ,session_id() ,time()+350 );

    //prende last action
    //$lastAction = getLastAction(session_id());

    printf("sessione : %s ", session_id() ) ;
    //sostituisco la nuova sessione con la vecchia in SESSION
    newSession(session_id(),$user );

    $smarty->assign('ErrLog', "0" );
    $smarty->assign('username',$_SESSION['username']);
    }
    else
    {
    $smarty->assign('username',$_SESSION['username']);
    $smarty->assign('ErrLog', "1" );
    }

    }
    ?>

  4. #4
    dai nessuno ha un idea di perchè firefox mi spezza la sessione?

  5. #5
    Hai sbagliato sezione però

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.