• User

    Chiedo aiuto per il seguente errore

    Strict Standards: Only variables should be passed by reference in C:\AppServ\www\ogmpdf\categoria.php on line **55

    a seguito scrivo il listato che produce questo errore:

    <?
    include "login.inc.php";
    $categoria = new cCategoria($db);

    //Esegue le modifiche sul db
    $errore="";
    if (isset($_REQUEST['esegui']))
    if ($_REQUEST['esegui'] == 'Inserisci') $errore=$categoria->inserisci($_POST);
    elseif ($_REQUEST['esegui'] == 'Modifica') $errore=$categoria->modifica($_POST);
    elseif ($_REQUEST['esegui'] == 'Cancella') $errore=$categoria->cancella($_GET);

    //Visualizza la testa della pagina
    $titolo="Categorie";
    include "navigatore.inc.php";
    ?>
    <p><div align="center"><font class="FacetFormHeaderFont"><?=$titolo?></font></div></p>
    <div align="center"><form method=post action="<?=$_SERVER['PHP_SELF']?>">
    <table order="0" cellpadding="3" cellspacing="1" class="FacetFormTABLE" align="center">
    <?
    if ($errore) echo "<tr><td colspan="2" class="FacetDataTD">".$errore."</td></tr>\n";

    //Inizializza i campi del form
    $nome = $sottocategoria_di = "";
    $esegui = "Inserisci";
    if (isset($_GET['azione']) && $_GET['azione']=='Modifica')
    { //Carica i parametri per la modifica di una categoria
    $nome = $_GET['nome'];
    $sottocategoria_di = $_GET['sottocategoria_di'];
    $esegui = "Modifica";
    echo "<input type="hidden" name="ID" value="".$_GET['ID']."">";
    }
    if ($errore && $_POST['esegui']!='Cancella')
    { //Recupera i parametri gia' impostati in seguito ad un errore
    $nome = $_POST['nome'];
    $sottocategoria_di = $_POST['sottocategoria_di'];
    $esegui = $_POST['esegui'];
    if ($_POST['esegui']=='Modifica') echo "<input type="hidden" name="ID" value="".$_POST['ID']."">";
    }

    //Visualizza i campi del form
    ?>
    <tr><td class="FacetFieldCaptionTD">Nome della categoria</td>
    <td class="FacetDataTD"><input type="text" name="nome" value="<?=$nome?>"></td></tr>
    <tr><td class="FacetFieldCaptionTD">Sottocategoria di</td>
    <td class="FacetDataTD">
    <?$categoria->listBox('sottocategoria_di',$sottocategoria_di,false,true);?>
    </td></tr>
    <tr><td colspan="2" align="right" nowrap class="FacetFooterTD"><input type="submit" name="esegui" value="<?=$esegui?>"></td></tr>
    </table></form></div><br>
    <table border=0 align='center'>
    <?

    //Visualizza l'albero delle categorie

    $nCategorie = $categoria->elenco($elencoCategorie, $dummy=0);
    for ($i=0; $i<$nCategorie; $i++)
    {
    echo "<tr>";
    for ($j=0; $j<$elencoCategorie*['livello']; $j++) echo "<td> -------> </td>"; // Indentazione di livello
    switch ($elencoCategorie*['livello'])
    {
    case 0: $bgColor='bgcolor=#C4C4C4'; break;
    case 1: $bgColor='bgcolor=#CCCCCC'; break;
    case 2: $bgColor='bgcolor=#D6D6D6'; break;
    case 3: $bgColor='bgcolor=#DDDDDD'; break;
    case 4: $bgColor='bgcolor=#E8E8E8'; break;
    case 5: $bgColor='bgcolor=#EEEEEE'; break;
    default: $bgColor="";
    }
    echo "\n<td $bgColor><a href="?ID=".$elencoCategorie*["ID"]."&nome=".$elencoCategorie*["nome"]."&sottocategoria_di=".$elencoCategorie*["sottocategoria_di"]."&azione=Modifica">".$elencoCategorie*["nome"]."</a></td>\n";
    echo "<td><a href="?ID=".$elencoCategorie*["ID"]."&esegui=Cancella"><img src="images/x.gif" alt="Cancella" border="0"></a></td></tr>\n";
    }
    echo "</table>\n";
    ?>
    </body>
    </html>

    la riga segnata in rosso e quella che produce l'errore

    sperando nel vs gentile aiuto vi saluto tutti
    **


  • ModSenior

    Ciao paolomi,
    dovresti postarci il metodo elenco, anche se l'errore mi sembra abbastanza chiaro stai cercando di passare in maniera errata un riferimento al metodo elenco.