errore script php

  • Creatore Discussione Creatore Discussione fabio71
  • Data di inizio Data di inizio

fabio71

Nuovo Utente
2 Ott 2011
28
0
0
buona sera
ho installato nella mia pagina web uno script in php.
Quando vado nella pagina di amministrazione per configurare il programma mi viene fuori il seguente errore:

Warning: require_once(includes/class.fasttemplate.php) [function.require-once]: failed to open stream: No such file or directory in E:\inetpub\vhosts\progettoguadagno.it\httpdocs\includes\globals_inc.php on line 13

Fatal error: require_once() [function.require]: Failed opening required 'includes/class.fasttemplate.php' (include_path='.;./includes;./pear') in E:\inetpub\vhosts\progettoguadagno.it\httpdocs\includes\globals_inc.php on line 13

Se non ho capito male è come se non trovasse e se fosse compilato male il file "class.fasttemplate.php".
Ho controllato e ricontrollato ed il file è presente, è scritto correttamente ed il percorso è giusto.
Quale può essere il problema e come può essere risolto?
grazie
 
ciao
l'errore è perche non trova il file.
verifica
in che cartella è il file chiamante (se è in una cartella o nella root)
in che cartella è il file da includere
poi posta anche come è scritta l'istruzione del require_once
 
Questo è parte del file global_inc.php che si trova in progettoguadagno.it\httpdocs\includes

PHP:
<?php
    $now = gmdate("'d-m-Y H:i:s'");
    $timenow = time();
    session_start();
    $doc_root = getenv("DOCUMENT_ROOT");
    define( '_VALID_MOS_', 1 );
    require_once("includes/"."class.fasttemplate.php");
    require_once("includes/"."class.phpmailer.php");
    require_once("includes/"."func_inc.php");
    require_once("includes/"."lang_inc.php");
    require_once("includes/"."auth_inc.php");
    require_once("includes/"."online_users_inc.php");
    require_once($doc_root."/license_inc.php");


ed anche il file class.fasttemplate.php si trova in progettoguadagno.it\httpdocs\includes
 
Ultima modifica di un moderatore:
ciao
quindi mi stai dicendo che il file che include e i file da includere sono nella stessa cartella "includes", se è così è logico che non li trovi, dovrebbe essere

PHP:
require_once("class.fasttemplate.php");
analogo per gli altri
 
ti ringrazio, non mi compare più l'errore, ma siccome i mali non vengono mai soli, ora mi compare il seguente errore:

Warning: require_once(/includes/lang/en.php) [function.require-once]: failed to open stream: No such file or directory in E:\inetpub\vhosts\progettoguadagno.it\httpdocs\includes\lang_inc.php on line 22

Fatal error: require_once() [function.require]: Failed opening required '/includes/lang/en.php' (include_path='.;./includes;./pear') in E:\inetpub\vhosts\progettoguadagno.it\httpdocs\includes\lang_inc.php on line 22

dove nella linea 22 di lang_inc.php c'è la seguente stringa:

require_once($conf['langdir'].$_SESSION['tlang'].".php");
 
ciao
capire i percorsi dei require o degli include non è sempre facilissimo in quanto i percorsi devono fare riferimento al file che include (o requira).
il problema spesso è nel fatto che a sua volat il file che deve essere incluso ha al sui interno un'altra inclusione.
cerco di fare un esempio

ROOT
..........file_che_include.php
..........cartella_1
....................primo_file_da_includere.php
....................cartella_2 (sotto cartella di cartella_1)
..............................altro_file_da_includere.php

mettiamo che il file file_che_include.php abbia l'istruzione
PHP:
require_once("cartella_1/primo_file_da_includere.php");
e a sua volta il primo_file_da_includere.php abbia (per ipotesi unica) l'istruzione
PHP:
require_once("cartella_2/altro_file_da_includere.php");
quando richiami file_che_include.php "copia" al suo interno (quasi un copia/incolla) le istruzioni del file primo_file_da_includere.php, cioè come se tu avessi scritto

PHP:
<?php
//....
require_once("cartella_1/primo_file_da_includere.php");
require_once("cartella_2/altro_file_da_includere.php");
//....
?>
il primo require non ti da errore, il secondo si perchè dalla sua posizione file_che_include.php non vede cartella_2
per non avere errori avresti dovuto scrivere
PHP:
<?php
//....
require_once("cartella_1/primo_file_da_includere.php");
require_once("cartella_1/cartella_2/altro_file_da_includere.php");
//....
?>
questo è solo un esempio, ma vuol dimostrare che quando si lavora con le inclusioni (o requironi) si deve stare attenti alle posizioni dei file
a parte quanto ti ho detto prova comunque a mettere prima dell'inclusione un bel var_dump

PHP:
<?php
//....
var_dump($conf['langdir'].$_SESSION['tlang'].".php");
require_once($conf['langdir'].$_SESSION['tlang'].".php"); 
//...
?>
e verifica cosa ti restituisce, cioè se il nome del file e il suo percorso è giusto
 
Ho risolto i problemi elencati in precedenza ma mi sono dovuto arrendere perchè alla fine della fiera mi è venuto fuori che la licenza era scaduta e che quindi lo script non avrebbe girato.
Ora ho installato un altro script dello stesso tipo ma molto meno complicato. Non ho avuto nessun problema fino a quando nella pagina di settaggio dello script mi è comparso il seguente errore:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/guadagno/public_html/admin/members.php on line 309


la linea 309 è la seguente:

while ($myrow = mysql_fetch_array($result, MYSQL_ASSOC)) {


ho fatto delle simulazioni aprendo altre pagine ma mi compare anche da altre parti lo stesso errore, sempre su members.php ma su linee diverse, ma in tutte è presente il comando "while"

è un problema che può essere risolto?
grazie ancora!
 
Questo tipo di errori è dovuto in genere al fatto che la precedente query con mysql_query() non ha prodotto alcun risultato valido (molto probabilmente per un errore).

Fai un controllo aggiungendo mysql_error() all'istruzione che produce $result.
 
ciao
eliox ha detto una cosa giusta, io ribadisco:
in fase di debag o quando si presentano gli "inevitabili" errori:

seguite il filo dello script seminandolo di var_dump($pinco_pallo);

questoo perchè l'errore segnalato da php alla riga XY con molta probabilità nasce alla riga XY-meno_qualcosa
 
se ho capito bene la "precedente query con mysql_query" dovrebbe essere la linea 308:

$result = mysql_query("SELECT * FROM users ORDER BY refs DESC LIMIT $top",$db); ed è qui che devo aggiungere mysql_error()?

come la aggiungo oppure come diventerebbe quindi la stringa?
grazie
 
ciao
si
$result = mysql_query("SELECT * FROM users ORDER BY refs DESC LIMIT $top",$db) or die(mysql_error());

anche se, un consiglio soprattutto in fase di costruzione dello script, prima di mettere l'or die.. dividerei la query
PHP:
//......
$query="SELECT * FROM users ORDER BY refs DESC LIMIT $top";
var_dump($query);// con questo vedi se la querystringa viene scritta giusta
$result = mysql_query($query);
var_dump($result);//con questa vedi se la query va a buon fine: se BOOL FALSE no, se RESOURCE... sì
//.....
poi, fatto il debag, i var_dump li togli o li commenti e, se vuoi, riunisci di nuovo
 
ciao
vi ringrazio per la disponibilità. Il problema precedente è stato risolto; purtroppo lo script non lo sto costruendo io, anche perchè a dire la verita ne capisco poco di linguaggio di programmazione. Si tratta di uno script da me acquistato e che volevo metterlo in funzione.
Ora proverò a settarlo e ad eseguire delle simulazioni, anche se sono convinto che dovrò approfittare ancora della vostra professionalità e conoscenza.
Per ora grazie ancora!
 
si il supporto c'è e precedente mi sono anche rivolto a loro, solo che l'assistenza è in inglese e quindi mi è più difficile farmi capire.
Qui nel forum ho visto che oltre alla grande disponibilità avete una grande competenza su ciò che riguarda la programmazione e non solo.
 
Giusto per curiosità, di che script si tratta? (Se puoi dircelo naturalmente)
 
si certo, si tratta di uno script in cui è presente un sistema con matrice forzata,e il sito dove l'ho acquistato si chiama Onlyscript
 
ciao
sono qui con un altro errore che mi compare conseguentemente alla simulazione dello script. In pratica nella pagina dell'amministratore alla voce "membri totali" mi compare l'errore:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/guadagno/public_html/admin/members.php on line 158
guadagnosemplice has members

riporto del file members.php le righe 157,158,159:

$nresult = mysql_query("SELECT * FROM users"); linea 157
$memnum = mysql_num_rows($nresult); linea 158
echo "$pname has $memnum members"; linea 159

ho riscontrato anche altri errori, ma vediamo se riusciamo a risolverli uno alla volta.
grazie:o
 
mysql_num_rows() si aspetta come parametro una risorsa mysql. Normalmente mysql_query() restituisce quella risorsa, tranne quando si verifichi qualche errore. In quel caso mysql_query() restituisce "false", che è un valore booleano e non può essere passato alla funzione mysql_num_rows(). Molto probabilmente errore della mysql_query() è causato dalla inesistenza della tabella "users" nel database.
 
a questo punto dovrei creare all'interno del database la tabella "users"? Solo che non so quali parametri devo indicare. Pensavo che con l'installazione dello script si creasse automaticamente.
 

Discussioni simili