Newsgroup: it.comp.www.php
Titolo: Non so più dove sbattere la testa

sono giorni che cerco la soluzione ma non ci riesco... questo script 
(copiato e adattato per le mie esigenze) mostra 10 risultati per pagina 
di una query mysql... con relativa numerazione delle pagine e pulsanti 
back e next. In locale funziona tutto, mentre sul server del sito 
cliccando sulla numerazione delle pagine e sui pulsanti avanti indietro, 
non ne vuol sapere.
Questo è lo script:
<?php
if (!isset($start) OR $start<0)
$start=0;
$step = 2;
################################################################################
include"admin/config.inc.php";
echo"<table>";
$result = mysql_query("select * from gallery WHERE localita_id = 
'$_GET[localita_id]' ORDER BY gallery_id DESC  LIMIT $start, $step") or 
die (mysql_error());
while ($row = mysql_fetch_array($result))
{
echo "<tr>
<td colspan=3 height=4></td></tr><tr>
<td width=26% align=center bgcolor=#f8f8f8> <a 
href=javascript:esempio('pop4.php?gallery_id=$row[gallery_id]'); return 
true><img src=amministrazione/gallery/small_foto/$row[minifoto] 
border=0></a></td>
<td height=15 width=1%></td>
<td width=74% valign=top class=testo_blu bgcolor=#f8f8f8> <a 
class=coll_blu 
href=javascript:esempio('pop4.php?gallery_id=$row[gallery_id]'); return 
true>$row[testo]</a></td>
</tr>";
}
echo"</table>";
################################################################################ 
echo"<br><br><table width=100% border=0><tr><td align=right width=30% 
class=testo_blu>";
if ($start>0)
{
$start_back = $start - $step;
echo "<a align=right 
href=mostra_gallery.php?localita_id=$_GET[localita_id]&start=$start_back><img 
src=img/precedenti.gif border=0></a>";
}
echo"</td>";
################################################################################
$query1 = "SELECT count(*) AS tot FROM gallery WHERE localita_id = 
'$_GET[localita_id]'";
$result = mysql_query($query1, $connection);
$row = mysql_fetch_array($result);
$pages = intval(($row[tot]-1)/$step)+1;
echo"<td width=40% class=testo_blu align=center>";
$pippo="foto";
################################################################################
$query = mysql_query("SELECT * FROM gallery WHERE localita_id = 
'$_GET[localita_id]'");
$num = mysql_num_rows($query);
echo "Totale: $num $pippo<br><br>";
################################################################################
for ($i=0; $i<$pages AND $i<2; $i++)
{
$start_page = $i * $step;
if ($start_page == $start)
{
echo "<a class=coll_rosso 
href='mostra_gallery.php?localita_id=$_GET[localita_id]&orderby=" . 
$orderby."&amp;"."start=".$start_page ."'><b>" . ($i + 1) . 
"</b></a>&nbsp;&nbsp;";
} else
{
echo "<a class=coll_blu 
href='mostra_gallery.php?localita_id=$_GET[localita_id]&orderby=" . 
$orderby."&amp;"."start=".$start_page ."'>" . ($i + 1) . 
"&nbsp;&nbsp;</a>";
}
}
################################################################################
echo"</td><td width=30%>";
if ($start + $step < $row[tot])
{
$start_next = $start + $step;
echo "<a 
href=mostra_gallery.php?localita_id=$_GET[localita_id]&start=$start_next><img 
src=img/successivi.gif border=0></a>";
}
echo" </td></tr></table>";
?>
Chi mi da una mano?
Grazie

sono giorni che cerco la soluzione ma non ci riesco... questo script 
(copiato e adattato per le mie esigenze) mostra 10 risultati per pagina 
di una query mysql... con relativa numerazione delle pagine e pulsanti 
back e next. In locale funziona tutto, mentre sul server del sito 
cliccando sulla numerazione delle pagine e sui pulsanti avanti indietro, 
non ne vuol sapere.
Questo è lo script:
<?php
if (!isset($start) OR $start<0)
$start=0;
$step = 10;
################################################################################




for ($i=0; $i<$pages AND $i<10; $i++)


 $step = 10;
Stai usando le register_globals in locale. Disabilitale e correggi lo 
script.
Bye.

Alessandro Pellizzari ha scritto:

===================================================================
Hai ragione, in locale il problema era dovuto al register globals.... 
però non riesco a risolvere... dove devo intervenire?
Sono un principiante :-)
<?php
if (!isset($start) OR $start<0)
$start=0;
$step = 10;


 ha scritto nel messaggio 
news:4720a138$0$36449$4faf...@reader5.news.tin.it...


 if (!isset($start) OR $start<0)
Qui (e in tutti i posti uguali di seguito) devi usare $_GET["start"] al 
posto di $start.
Leggi il manuale di PHP riguardo a register_globals (su 
www.php.net
).
Evita guide trovate in giro per Internet (o anche manuali cartacei vecchi, 
se e` per quello), che potrebbero essere aggiornate a 4-5 anni fa, se non 
peggio.
Bye.

Alessandro Pellizzari ha scritto:

==============================
mettevo dappertutto $_GET[start] ecc e mi dava errore
ho risolto aggiungendo in testa
$start=$_GET['start'];
$step=$_GET['step'];
grazie per lo spunto

daniele ha scritto:

========================
Ho risolto finalmente... ho aggiunto queste due righe in testa allo script
$start=$_GET['start'];
$step=$_GET['step'];
Grazie