Salve ragazzi ho un'errore sullo script per la paginazione che nn riesco a risolvere.

Vi spego la situazione; ho due pagine una con l'elenco delle gallery fotografiche e un'altra con il dettaglio di ogni gallery.

Sulla pagina dove ho l'elenco delle gallery (Photogallery.php) mi viene restituito il seguente errore:

Notice: Undefined index: page in c:\programmi\easyphp1-8\www\roberto_2009\sito\photogallery.php on line 23

Il codice della pagina è il seguente e in rosso vi mostro la riga di errore:
codice:
<?php
include("connessione.php");
?>
<?php
///Query per estrarre i dati da visualizzare nella tabellina destra Ultimi lavori eseguiti/////
$query = "SELECT * FROM portfolio ORDER BY id_portfolio DESC LIMIT 3";
$result = mysql_query($query);
/// Record da visualizzare nei contenuti//////
// esecuzione prima query
$count = mysql_query("SELECT COUNT(id_gallery) FROM foto");
$res_count = mysql_fetch_row($count);

// numero totale di records
$tot_records = $res_count[0];

// risultati per pagina(secondo parametro di LIMIT)
$per_page = 4;

// numero totale di pagine
$tot_pages = ceil($tot_records / $per_page);

// pagina corrente
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page']; 
$primo = ($current_page - 1) * $per_page;
// esecuzione seconda query con LIMIT
$query_limit = mysql_query("SELECT *, DATE_FORMAT(data, '%d-%m-%Y') as data FROM foto LIMIT $primo, $per_page");


?>


<body >
  <?php
										while ($row = mysql_fetch_array($query_limit))
										{
										echo '<table width="422" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="120" rowspan="5" valign="top" class="testoContenuti">[img]public/foto/'.$row['miniaFoto'].'[/img]</td>
        <td width="12">[img]immagini/null_TabContenuti.gif[/img]</td>
        <td class="testoContenuti">'.$row['data'].'</td>
      </tr>
      <tr>
        <td colspan="2">[img]immagini/null_TabContenuti.gif[/img]</td>
        </tr>
      <tr>
        <td></td>
        <td class="testoContenuti">'.$row['titolo'].'</td>
      </tr>
      <tr>
        <td colspan="2">[img]immagini/null_TabContenuti.gif[/img]</td>
      </tr>
      <tr>
        <td></td>
        <td class="testoContenuti">'.$row['descrizione'].'</td>
      </tr>
      <tr>
        <td colspan="3" height="15"><hr /></td>
        </tr>
    </table>
							'; 
										}
										?>										</td>
                                      </tr>
                                      
                                      <tr>
                                        <td class="testoContenuti"><table width="422" border="0" cellspacing="0" cellpadding="0">
                                          <tr>
                                            <td class="testoContenuti">
											<?php
											include("includes/paginazione.php");
											echo " <tr>\n <td class=\"testoContenutiCentrato\">$paginazione</td>\n";
											?>											
			</body>
</html>
<?php
mysql_free_result($result);
?>
Questo è il codice della pagina "paginazione.php":
codice:
<?php

$paginazione = "Pagine totali: " . $tot_pages . "
[";
for($i = 1; $i <= $tot_pages; $i++) {
if($i == $current_page) {
$paginazione .= $i . " ";
} else {
$paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
}
}
$paginazione .= "]";

?>
Nella pagina in cui invece ho il dettaglio i dati vengono filtrati regolarmente solo che quando vado a cliccare sulla pagina numero 2 nn mi fa vedere nulla perchè nn mi passa l'ID_gallery
Questo è l'errore:

Notice: Undefined index: id_gallery in c:\programmi\easyphp1-8\www\roberto_2009\sito\dettagliophotogallery.php on line 5

E questo è il codice della pagina con in rosso la riga di errore
codice:
<?php
include("connessione.php");
?>
<?php
$id_gallery=$_GET['id_gallery']; 
///Query per estrarre i dati da visualizzare nella tabellina destra Ultimi lavori eseguiti/////
$query = "SELECT * FROM portfolio ORDER BY id_portfolio DESC LIMIT 3";
$result = mysql_query($query);
/// Record da visualizzare nei contenuti//////
// esecuzione prima query
$count = mysql_query("SELECT COUNT(id_foto) FROM dettagliofoto WHERE id_gallery='$id_gallery'");
$res_count = mysql_fetch_row($count);

// numero totale di records
$tot_records = $res_count[0];

// risultati per pagina(secondo parametro di LIMIT)
$per_page = 12;

// numero totale di pagine
$tot_pages = ceil($tot_records / $per_page);

// pagina corrente
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$primo = ($current_page - 1) * $per_page;
// esecuzione seconda query con LIMIT
//partiamo dalla query per selezionare le foto da visualizzare nella tabella dei contenuti
$query = mysql_query("SELECT * FROM dettagliofoto WHERE id_gallery='$id_gallery' ORDER BY id_foto LIMIT $primo, $per_page"); 
?>

<body onLoad="fixImgs('photos', 95)">
                                 <td class="testoContenuti">
										<?php
										

//con mysql_num_rows contiamo i risultati ottenuti. 
//questo valore ci servirà per la paginazione 
$num_record = mysql_num_rows($query); 

//adesso dichiaro un po' di variabili utili allo script 

//colonne è il numero di celle per riga che dovà avere la nostra tabella 
$colonne = 4; 

//calcoliamo le righe della tabella che ci dovrebbero venire in base al numero di record 
/*se ho 6 risultati e ho scelto 3 celle per riga avrò due righe totali*/ 
$tot_righe = $num_record/$colonne; 

//dichiaro tre indici che mi serviranno 
$i_x = 0; 
$x_x = 0; 
$k_x = 0; 

/*questo mi serve per determinare la lunghezza delle celle della tabella. 
questo valore deve essere variabile ovviamente in base al numero di colonne. 
mi spiego: se ho due colonne la singola cella dovrà 
essere lunga il 50%; se metto tre colonne 
dovrà essere il 33% e così via*/ 
$cell_width = floor(100/$colonne); 


//adesso scrivo il codice di inizio tabella 
echo 
'<table width="80%" border="0" cellspacing="1" cellpadding="3" id="photos"> 
<tr>'; 

//adesso scorriamo i risultati ottenuti con un ciclo while 
        while($array = mysql_fetch_array($query)){ 

//incremento gli indici perchè mi serviranno dopo 
$i_x++; 
$k_x++; 
$x_x++; 

//stampo le celle dei risultati 
echo'<td width="$cell_width%" class="testoContenuti" valign="top">[img]public/foto/'.$array['nomeFoto'].'[/img]
'.$array['foto'].'


</td>';

/*ogni volta che l'indice $i_x è uguale al numero 
di colonne scelto vuol dire che devo chiudere una riga*/ 

if($i_x == $colonne) { 
     
    echo'</tr>'; 

   
/*se invece l'indice $i_x è uguale al numero di colonne 
scelto ma l'indice $x_x diviso le colonne è diverso 
dalle righe che dovremmo avere vuol dire che ci sono 
ancora dei risultati da stampare. quindi apro una nuova riga*/ 

if ($i_x == $colonne && (($x_x/$colonne) != $tot_righe)) { 

        echo'<tr>';

 } 
//riazzero l'indice $i_x per riniziare i calcoli fin quando mi serve 
$i_x = 0; 
                                    } // fine $i_x == $colonne 

} //fine del ciclo 

/*a questo punto devo vedere che tipo di tabella mi è venuta fuori. 
in pratica devo vedere se ci sono delle celle vuote 
da stampare oppure posso chiudere la tabella. 
per fare questo faccio due controlli 

se il numero di celle scelte per riga è superiore ai risultati ottenuti per riga stampo o meno le celle mancanti. 

questo può succedere perchè magari abbiamo scelto di 
avere 3 celle per riga ma i risultati ottenuti sono 4 
e quindi c'è l'inizio di una seconda riga che 
deve avere per forza tre celle... 
un po' contorto ma dovreste aver capito*/ 

if ($colonne <= $x_x){ 

/*stampo le celle mancanti se la divisione dei risultati per le colonne dà il resto. 
questo vuol dire appunto che 
ci sono meno risultati per riga rispetto alle celle scelte*/ 
if (($k_x%$colonne) != 0){ 

    $indice = $k_x; 

/*inizio un breve ciclo che in pratica fa questo: 
"per ogni riga, se vedi che i risultati ottenuti 
sono inferiori alle celle scelte con $colonne, 
stampami delle celle vuote fino ad arrivare 
al completamento della riga*/ 
while (($indice%$colonne) != 0 ){ 

echo'<td>[img]immagine_vuota.gif[/img]</td>'; 

//incremento il nuovo indice per ripetere l'operazione fin quando necessario 
$indice++; 

             } //fine ciclo while 

/*se invece la divisione non dà resto vuol dire che 
il numero di risulati va bene in base alle celle scelte 
(ad esempio 3 celle per riga con 6 risulati: 6/3 = 2)*/ 

  if(($indice%$colonne) == 0 ){ 

echo'</tr>'; 
         
          } 

        } //fine ($k%$colonne)!= 0 

                
/*stessa cosa qui: il numero di risulati va bene in base 
alle celle scelte e quindi posso chiudere la riga*/ 
} else{ //fine if $colonne <= $x 

echo '</tr>'; 
                
                 } 

//adesso posso finalmente chiudere la tabella 
echo '</table>';
										?>
										</td>
                                      </tr>
                                      
                                      <tr>
                                        <td class="testoContenuti"><table width="422" border="0" cellspacing="0" cellpadding="0">
                                          <tr>
                                            <td class="testoContenuti">
											<?php
# indico quante pagine visualizzo nella paginazione prima e dopo la pagina attuale 
    $numPag = 5; 

    if($tot_records == 0) { 
        $paginazione = ''; 
    } else { 
        $paginazione = ' Pagine totali: '.$tot_pages.' - '; 

        if ($current_page > ($numPag+2)) { 
            $paginazione .= '1 ... '; 
        } elseif ($current_page == $numPag+2) { 
            $paginazione .= '1 '; 
        } 

        for($n = 1; $n <= $tot_pages; $n++) { 
            # caso in cui sono nella pagina corrente 
            if ($n == $current_page) { 
                $paginazione .= ''.$n.' '; 
            # visualizzo le $numPag pagine precendeti e successive 
            } elseif ($current_page - $n <= $numPag && $n - $current_page <= $numPag) { 
                $paginazione .= ''.$n.' '; 
            } // end if 
        } // end for 

        if ($current_page < $tot_pages-($numPag+1)) { 
            $paginazione .= ' ... '.$tot_pages.'  '; 
        } elseif ($current_page == $tot_pages-($numPag+1)) { 
            $paginazione .= ' '.$tot_pages.'  '; 
        } 

        $paginazione .= '
'; 
    }
print("pagina corrente: $current_page 
 Messaggi totali:$tot_records 
"); 
      print("$paginazione"); 

?></td>
                                            </tr>
                                        </table>
Sulla pagina dettaglio non riesco a capire come poter far passare l'id_gallery tra una pagina e l'altra. Ho provato a concatenare l'id_gallery con "'age" ma nulla.

Potreste indicarmi dove sto sbagliando?

Grazie in anticipo.