ciao,
non sono riuscito ancora a risolvere il problema della paginazione che in locale funziona mentre sul server no...
in pratica cosa succede: quando uso una condizione nel motore di ricerca la funzione mi restituisce il numero di record trovati, ad esempio 20 su 50 e mi crea correttamente il numero di pagine. quando però clicco sulla pagina 2, mi perde il filtro e mi elenca tutti i 50 record presenti nel DB.
La cosa strana è che in locale mi funziona perfettamente!

le due differenze che ho notato tra localhost e il server è che sul server avevo register_globals in on.
Ho fatto modificare la configurazione all'hoster, ma il problema persiste.
la seconda differenza è che in locale php gira su windows, mentre sul server ho linux.

non so più cosa fare...illuminatemi vi prego

la funzione per la paginazione:
Codice PHP:
function paging($query,$x_pag=10,$num_links=5)
{
    
//conteggio i record presenti
    
$resource =  mysql_query($query);
    if(!
$resource) { echo 'Si è verificato un errore con la query inserita.
 L\'errore restituito è: [i]'
mysql_error(),'[/i]'; exit; }
    
$righe mysql_num_rows($resource);
    if (
$righe == 0){ return false; } //non ci sono record

    
echo "<div class=\"risultato\">\n

Sono stati trovati <span class=\"col_res\">"
.$righe."</span> risultati</p></div>\n<table class=\"tabella\">\n";

    
//calcolo il numero di pagine necessarie per visualizzare i dati
    
$numpages ceil($righe/$x_pag);

    
//ottengo il numero della pagina corrente, se manca lo imposto ad 1
    
$pag = isset($_GET['pag'])? $_GET['pag'] : 1;

    
//imposto il primo estremo del limit
    
$da = ($pag-1) * $x_pag;

    
//appendo il limit alla query originaria
    
$query .= " LIMIT $da,$x_pag";

    
//gesisco la propagazione della query string ricopiandola tutta in una variabile che appenderò ai link
    
$querystring '';
    foreach(
$_GET as $k => $v)
        {
            if (
$k != 'pag'//escludo la variabile usata dalla paginazione ^_^
                
$querystring .= "&".$k."=".$v;
        }

    
//inizializzo una stringa vuota in cui appenderò l'output del menu'
    
$menu '';

    
//SERIE DI CONDIZIONALI IN CASCATA PER COSTRUIRE IL MENU'

    //se il numero di pagine necessarie è minore del massimo numerodi link richiesto, allora li stampo tutti senza problemi...
    
if($numpages <= $num_links)
        {
            if(
$numpages )//...a meno che non basti la sola pagina corrente
                
{
                    for (
$pagina 1$pagina <= $numpages$pagina++)
                        {
                            if (
$pagina == $pag)
                                
$menu .= "<span class=\"pag_selected\"> $pagina </span> ";
                            else
                                
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> ";
                        }
                }
        }

    
//se la pag corrente è tra le prime $num_links/2 --> stampo i primi $nun_links link
    
else if($pag <= ceil($num_links/2))
        {
            for (
$pagina=1$pagina<=$num_links$pagina++)
                {
                    if (
$pagina == $pag)
                        
$menu .= "<span class=\"pag_selected\"> $pagina </span> ";
                    else
                        
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> ";
                }
            
//link diretto all'ultima pagina
            
$menu .= "<a class=\"pag_link\" href=\"?pag={$numpages}{$querystring}\" title=\"Vai all'ultima pagina\"> >> </a> ";
        }

    
//se la pag corrente è tra le ultime $num_links/2 --> stampo gli ultimi $nun_links link
    
else if($pag > ($numpages-ceil($num_links/2)))
        {
            
//link diretto alla prima pagina
            
$menu .= "<a class=\"pag_link\" href=\"?pag=1{$querystring}\" title=\"Vai alla prima pagina\"> << </a> ";

            for (
$pagina=$numpages-$num_links+1$pagina<=$numpages$pagina++)
                {
                    if (
$pagina == $pag)
                        
$menu .= "<span class=\"pag_selected\"> $pagina </span> ";
                    else
                        
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> ";
                }
        }

    
//Altrimenti la pagina corrente è una delle pagine centrali --> stampo i $nun_links/2 link prima ed $nun_links/2 link dopo
    
else
        {
            
//link diretto alla prima pagina
            
$menu .= "<a class=\"pag_link\" href=\"?pag=1{$querystring}\" title=\"Vai alla prima pagina\"> << </a> ";

            for (
$pagina $pag-ceil($num_links/2-1); $pagina <= $pag+ceil($num_links/2-1); $pagina++)
                {
                    if (
$pagina == $pag)
                        
$menu .= "<span class=\"pag_selected\"> $pagina </span> ";
                    else
                        
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> ";
                }

            
//link diretto all'ultima pagina
            
$menu .= "<a class=\"pag_link\" href=\"?pag={$numpages}{$querystring}\" title=\"Vai all'ultima pagina\"> >> </a> ";
        }

 
//restituisco il risultato della query, e l'output del menu'
 
return array(mysql_query($query),$menu);

vi ringrazio