- Home
- Categorie
- Coding e Sistemistica
- Coding
- Strano problema con include
-
Strano problema con include
Il problema è il seguente:
ho un file chiamato parametri.php:
<?php$db_host = 'localhost'; $db_user = 'root'; $db_password = ''; $db_name = 'mondogdr'; ?>
poi un altro file che tenta di accedere al database:
include ("http://$SERVER_NAME/parametri.php"); $db = mysql_connect($db_host, $db_user, $db_password); if ($db == false) die ("Errore nella connessione. Verificare i parametri nel file config.inc.php"); mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file parametri.php");
Ricevo il seguente messaggio: Errore nella selezione del database. Verificare i parametri nel file parametri.php
E' un'operazione che ho fatto altre volte (testavo su windows adesso su linux) e funzionava sempre
Ho pure messo degli echo nel file incluso e ho verificato che l'inclusione riesce. E' come se non passassero le variabili. Forse devo modificare qualcosa nelle configurazioni di apache e/o php?
Qualcuno è in grado di svelarmi l'arcano?
grazie
-
prova a fare un include relativo:
include_once ("./parametri.php");
ps ma è giusto il nome del db? attento alle maiuscole ad esmepio
-
Con l'include relativo funziona!
Ma perchè?
-
perche' confondi $SERVER_NAME, una normalissima variabile senza alcun valore assegnatole, con $_SERVER['SERVER_NAME']
-
Appena posso riprovo.
Ma ritorno a chiedermi: perchè allora se metto degli echo "ciao mamma" nel file incluso questi ultimi funzionano?
-
La butto lì: Perché $_SERVER è una variabile globale?
-
La butto lì: Perché $_SERVER è una variabile globale?
-
Ritorno su questo mio topic
Se includo con
include ("./parametri.php ");
funziona tutto a dovere.
Se includo con
include ("www.miosito.it/parametri.php"); oppure include ("$_SERVER[SERVER_NAME]/parametri.php")
il file viene incluso (ho messo degli echo di controllo) però le variabili non passano
Come devo fare per fare in modo che le variabili dichiarate in "parametri.php" possano essere incluse in altre pagine senza usare un percorso relativo ma assoluto?
-
Provato con require?
-
Provato ma non va
-
probabilmetne usi le variabili in una funzione ed in questa non hanno visibilità.
in un file di costanti devi dichiarare delle costanti e non variabili quindi
define('NOME_COSTANTE',VALORE);
se usi delle variabili devi, nelle funzioni, dichiararle come global:
$miavar = 'pippo'; function ciccio() global $miavar;
ciauz
-
Grazie dell'aiuto Tymba ma non funge ancora.
Non uso delle funzioni ma lo script che vedi a inizio topic.
La cosa che mi fa diventare matto e ridere istericamenteè che se includo così:
include ("./admin/parametri.php");
tutto funziona.
Ma se includo con percorso assoluto non va!Non dovrebbe essere la stessa cosa? :bho:
Se qualcuno magari mi sa dire come aggirare il problema ed evitare i percorsi assoluti. Praticamente devo includere il file parametri.php da qualunque posizione lo richiami.