Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema menù generato in php e mysql

    Ciao a tutti, non mi spiego perchè il menù che funzionava alla perfezione, installando una nuova versione di xampp non funziona più.
    Mi visualizza l'avviso:

    Notice: Use of undefined constant link - assumed 'link' in C:\xampp\htdocs\header.php on line 54

    Notice: Use of undefined constant pagina - assumed 'pagina' in C:\xampp\htdocs\header.php on line 55

    Il codice php è:
    Codice PHP:
    <?PHP

    include ("dati.php");

    // Ottengo la pagina corrente
    $voceCorrente $_SERVER["PHP_SELF"];

    // Creo il menù orizzontale a linguette
    echo "<ul class=\"menuNavigazione\">";

    $dbcnx mysql_connect("$host""$user_db""$pass_db"); 
    mysql_select_db("$nome_db"$dbcnx);

    $res mysql_query ('SELECT * FROM link_orizzontali'); 
    $num mysql_num_rows ($res);
     
    $array_s=explode('?',$voceCorrente);
      
    $vocepagina=$array_s[0]; 


    while (
    $array mysql_fetch_array($res)) {

    $link=$array[link]; 
    $pagina=$array[pagina];

    echo 
    "<li";   if (strstr($vocepagina,$link)) {echo " class=\"voceCorrente\"";} echo "><a href=\"$link\">"; echo "$pagina"; echo "</a>";
    }
    echo 
    "[/list]";

    mysql_close($dbcnx);

    ?>
    Mi spiegate il motivo del cambiamento ??
    Ciao e grazie.

  2. #2
    perche' e' cambiata la versione del php e questa ha ora i NOTICE abilitati. Mancano le apici agli indici associativi. Pur non essendo un vero e proprio errore e molto meglio aggiornare lo script. Disabilitare i NOTICE non risolve il problema dello script ma solo spegne la segnalazione. Il problema rimarrebbe sempre e forse aggravato nelle successive versioni del php.
    L'iter che usano gli sviluppatori del php e' di solito questo: prima dei NOTICE o DEPRECATED, poi successivamente errore e mancato funzionamento dello script. Meglio sistemare lo script man mano che si evidenziano questi problemi.

    Codice PHP:
    $link=$array['link']; 
    $pagina=$array['pagina']; 
    Le apici negli array non ci vogliono per indici numerici o costanti. Nel caso tu avessi avuto una costante di nome "link" o "pagina" avrebbe assunto questi valori al posto del campo del result set. Anche qui un piccolo suggerimento: le costanti sempre con lettere maiuscole, le variabili/campi sempre con lettere minuscole dato che questi nomi sono case sensitive. Quanto meno eviterai le ambiguita' nei nomi tra costanti e variabili.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Molte grazie per l'aiuto.
    Ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.