Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problemi con require_once

    Ma perchè non funziona il seguente codice?

    require_once __DIR__ . "/template/{$riga['Pagina']}";

    Mi da il seguente errore:

    Warning: require_once(__DIR__/template/) [function.require-once]: failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/vimer 2/index.php on line 109

    Fatal error: require_once() [function.require]: Failed opening required '__DIR__/template/' (include_path='.:/Applications/xampp/xamppfiles/lib/php') in /Applications/XAMPP/xamppfiles/htdocs/vimer 2/index.php on line 109[/QUOTE]

    Qualcuno puo' dirmi come mai il sistema non riesce a trovarmi le pagine da includere? I file sono nella cartella template. La cartella template si trova nella cRtella principale che si chiama vimer2. Cme mai invece mi punta su index.php?

    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Non punta su index.php... quella è la pagina ed il punto in cui viene rilevato l'errore. Probabilmente il tuo problema è che $riga['Pagina'] non contiene la pagina da includere (Warning: require_once(__DIR__/template/qui dovrebbe esserci il valore di $riga)).

    Prima del require metti

    Codice PHP:
    var_dump($riga['Pagina']);
    require_once 
    __DIR__ "/template/{$riga['Pagina']}"
    e vedi cosa ti restituisce.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  3. #3
    $riga ['Pagina'] contiene le pagine da includere al click del menu ( contatti.php ecc ) ed e' estratta dalla tabella TblMenu ma fisicamente il file si trova nella cartella template del sito vimer 2.
    Comunque il risultato di var_dump e' NULL

  4. #4
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Appunto... non dovrebbe essere null, ma contenere il nome della pagina da includere... il problema sta prima, ossia quando estrai i dati dal database... assicurati che la query abbia successo.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  5. #5
    Non capisco perchè la query non mi da errore però poi non mi valorizza la riga

    Codice PHP:
    $Query =mysql_query ("SELECT * FROM tblmenu WHERE ID = '".$_GET['menuid']."'" ); 
    if (!
    $Risultato)
    {       
     die(
    "La tabella selezionata non esiste " mysql_error()); 
    }
     else      
    {        
    echo 
    "ok"
    //include ("template/{$riga['Pagina']}");

    Infatti mi stampa OK
    Vedi qualche errore per caso?

  6. #6
    Cos' $risultato? Non sembra inizializzato da nesuna parte. Inoltre se l'id passato fosse, per esempio, 8 ma i menù fossero solo 7, la query ha comunque successo (perchè non contiene errori) ma ritorna un risultato vuoto/null. Sbagli il tipo di controllo.


  7. #7
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Vedo una cattiva prassi (WHERE ID = '".$_GET['menuid']."'") e una cosa che non capisco... $Risultato dove lo prendi?

    Prova cosi:

    Codice PHP:
    if (!isset($_GET['menuid']))
    {
        
    // gestisci il caso in cui non sia presente menuid nella query
    }
    else 
    {
            
    // ricorda la connessione al db
        
    $id mysql_real_escape_string($_GET['menuid']);    
        
    $query  "SELECT * FROM tblmenu WHERE ID = '".$id."'"// ma id è numerico o meno?
        
    $result mysql_query($query);
        
        if (!
    $result)
        {
            die(
    sprintf('Si è verificato un errore durante l\'esecuzione della query %s: %s'$querymysql_error()));
        }
        
        
    $row mysql_fetch_assoc($result);
        
        if (!
    file_exists($path __DIR__ "/../template/${row['Pagina']}"))
        {
            die(
    sprintf('Impossibile recuperare la pagina %s'$path));
        }
        
        require_once 
    $path;
        
        
    mysql_free_result($result);

    L'ho scritta al volo quindi controlla che non vi siano errori... provala e fammi sapere se va
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  8. #8

    Re: Problemi con require_once

    Originariamente inviato da alessandra25
    Ma perchè non funziona il seguente codice?

    require_once __DIR__ . "/template/{$riga['Pagina']}";
    Sei sicuro che il codice che usi sia esattamente questo? Perche' nel messaggio di errore dovrebbe comparire la directory non la stringa __DIR__.

  9. #9
    @secta
    Essendo l'id al 99% un valore intero, potrebbe essere sufficiente un "intval"

  10. #10
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365

    Re: Re: Problemi con require_once

    Originariamente inviato da k.b
    Sei sicuro che il codice che usi sia esattamente questo? Perche' nel messaggio di errore dovrebbe comparire la directory non la stringa __DIR__.
    La cosa buffa è che l'ho anche messo in grassetto... ma non mi ero accorto di nulla
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

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.