Pagina 1 di 1

variabile php non riconosciuta per phpbb 3.1.x

Inviato: 28/04/2015, 21:58
da alex75
Teoricamente avrei dovuto postare l'argomento in sezione php-mysql
Ma dato che sullo stesso server locale Xampp lo stesso file php funziona su un forum con phpbb 3.0.12 e dà invece errore su un forum con phpbb 3.1.3, credo che il problema sia imputabile al phpbb 3.1.3

Vi spiego... ho una custom page in php con relativa pagina di style; un ulteriore pagina php con l'estrazione dei dati dal database ed in fine un file php per la paginazione dei dati.
l'errore avviene sul file di paginazione ed esattamente su 2 variabili:
$SERVER
$GET
Quindi riepilogando abbiamo:
custompage.php (funzionante senza la paginazione)
custompage_body.html (funzionante senza la paginazione)
mod_custompage.php (funzionante senza la paginazione)
paginazione.php (richiamato nel file mod_custompage.php)

Se nel file mod_custompage.php tolgo l'include paginazione.php tutto funziona regolarmente (mentre con phpbb 3.0.12 funziona anche con il file paginazione.php)
questo l'errore visualizzato:
screenshot.jpg
e queste le righe incriminate:

linea 3 ($SERVER)

Codice: Seleziona tutto

define("SELF", $_SERVER['PHP_SELF']);
e righe con variabile $GET:

Codice: Seleziona tutto

   if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
    {
      $parti_da = 0;
      $_GET['p'] = 1;
    }else{
      $parti_da = ($_GET['p']-1) * $max_row;
    }
per completezza allego anche tutto l'intero contenuto del file paginazione.php

Codice: Seleziona tutto

<?php
// definiamo una costante per la pagina corrente
define("SELF", $_SERVER['PHP_SELF']);

// definiamo la classe
class Paging
{
  // definiamo la pagina di partenza
  function paginaIniziale($max_row)
  {
    if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
    {
      $parti_da = 0;
      $_GET['p'] = 1;
    }else{
      $parti_da = ($_GET['p']-1) * $max_row;
    }
    return $parti_da;
  }

  // contiamo le pagine e stabiliamo quanti records devono essere impaginati 
  function contaPagine($conta, $max_row)
  {
    $pgg = (($conta % $max_row) == 0) ? $conta / $max_row : floor($conta / $max_row) + 1;
    return $pgg;
  }

  // mostriamo l'elenco delle pagine
  function listaPagine($p_corrente, $pgg)
  {
    $listapgg = "";
    if (($p_corrente != 1) && ($p_corrente))
    {
      $listapgg .= " <a href=\"".SELF."?p=1\">Prima pag.</a> ";
    }
    if (($p_corrente-1) > 0)
    {
      $listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."\"><</a> ";
    }
    for ($i=1; $i<=$pgg; $i++)
    {
      if ($i == $p_corrente)
      {
        $listapgg .= "<b>".$i."</b>";
      }else{
        $listapgg .= "<a href=\"".SELF."?p=".$i."\">".$i."</a>";
      }
      $listapgg .= " ";
    }
    if (($p_corrente+1) <= $pgg)
    {
      $listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">></a> ";
    }
    if (($p_corrente != $pgg) && ($pgg != 0))
    {
      $listapgg .= "<a href=\"".SELF."?p=".$pgg."\">Ultima pag.</a> ";
    }
    $listapgg .= "</td>\n";
    return $listapgg;
  }

  // permettiamo la navigazione per pagine precedenti e successive
  function precedenteSuccessiva($p_corrente, $pgg)
  {
    $impaginazione = "";
    if (($p_corrente-1) <= 0)
    {
      $impaginazione .= "Precedente";
    }else{
      $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente-1)."\">Pag. precedente</a>";
    }
    $impaginazione .= " | ";
    if (($p_corrente+1) > $pgg)
    {
      $impaginazione .= "Prossima";
    }else{
      $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">Prossima pag.</a>";
    }
    return $impaginazione;
  }
}
?>

Re: R: variabile php non riconosciuta per phpbb 3.1.x

Inviato: 28/04/2015, 22:25
da brunino
Dalla 3.1 non si usano piú le "grandi variabili" (get, post, server)... si usa $request per tutto

Inviato dal mio GT-S5360 con Tapatalk 2

Re: variabile php non riconosciuta per phpbb 3.1.x

Inviato: 28/04/2015, 22:41
da alex75
grande! grazie... allora pensavo bene che il problema fosse più sul phpbb 3.1.x
Ok mi documenterò e farò delle prove per riadattare il file di paginazione.php. Grazie!