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

    Notice: Use of undefined constant data!?! Non carica le costanti!

    Ho già esposto il mio "nuovo" problema qui però magari il titolo del thread non c'entra niente quindi ne ho aperto un altro più specifico..

    Il mio problema è che mi visualizza tanti di questi errori (probabilmente uno per ogni costante)
    codice:
    Notice: Use of undefined constant data - assumed 'MYSQL_PASS'
    Mi da la stessa Notice per tutte le costanti tiop MYSQL_USER, MYSQL_HOST, ecc ecc.. tutte quelle costanti che si trovano in un file di configurazione chiamato init.php.

    Il mio problema è che sembra che non riesce a "richiamare" le costanti, per fare un esempio, in un altro file php di un altra cartella c'è questa istruzione
    Codice PHP:
    mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS); 
    (non mi ricordo se l'ordine è quello)
    e cmq se lo lascio così non entra nel database..
    Se invece modifico quell'istruzione in
    Codice PHP:
    mysql_connect('localhost','root','password_root'); 
    funziona tutto... Stessa cosa per altre costanti che contengono percorsi tipo
    codice:
    define(URL_IMAGES,"css/images'";
    c'è una funzione che elenca delle immagini, e con la costante sopra riportata non funziona!
    Se poi ci metto il vero percorso funziona perfettamente!

    Quindi vorrei sapere come mai non riesce a trovare le costanti!
    Magari sono definite in modo sbagliato?

    Ricordo che il codice è stato scritto tempo fa e con una versione di PHP vecchia, probabilmente il 4!
    Nasciamo autodidatti e moriamo autodidatti!

  2. #2
    All'interno delle funzioni non vengono visualizzate le costanti.. Per fare in modo che sia possibile utilizzare le costanti all'interno di esse, devi definirle globali, come ad esempio:
    Codice PHP:
    define(URL_IMAGES"css/images");

    // qui la costante viene vista perchè non è all'interno di alcuna funzione
    echo URL_IMAGES;

    function 
    eleca_imagini() {
       global 
    URL_IMAGES;

       
    // anche qui verrà visualizzata, ma solo se è stata inserita
       // l'istruzione "global URL_IMAGES" come sopra
       
    echo URL_IMAGES;

    sperando di esserti stato utile,
    ti saluto!

  3. #3

    Problema risolto.. MA??

    Il problema stava proprio nella sintassi. Essendo il programma scritto in PHP 4 la sintassi
    Codice PHP:
    define(COSTANTE,"xxx"); 
    è errata, mentre quella corretta sarebbe questa
    Codice PHP:
    define("COSTANTE","xxx"); 
    Il problema è che, siccome sto modificando del codice scritto precedentemente, dovrei andare a modificare centinaia di costanti e centinaia di vettori in modo che non mi notifichi più niente e riesca a vedermi le costanti!

    Quindi mi chiedevo se ci fosse un modo, magari modificando il file php.ini, per far funzionare il tutto! Io ho installato PHP 5, il codice è stato scritto con una versione precedente (probabilmente il 4).

    L'unico modo sarà quello di disinstallare PHP 5, reinstallare PHP 4 in modo da non aver piu nessuna notice??
    Nasciamo autodidatti e moriamo autodidatti!

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.