Visualizzazione risultati 1 fino 3 di 3

Discussione: Call to undefined function: simplexml_load_file()

  1. #1
    Guest

    Unhappy Call to undefined function: simplexml_load_file()

    Giuro che ho cercato e cercato e ancora cercato, ma non sono riuscito a venire a capo di questo problema.

    La funzione simplexml_load_file() non è definita... ma da quel che ho letto, con PHP5 dovrebbe essere supportata, e se non sbaglio, PHP5 è attivo su Altervista, confermate?

    Ora il codice... ho scritto

    Codice:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!-- DataBase 0.5.0 del 10/01/2010 -->
    
    <poesie>
    
        <poesia>
    
            <titolo>DivinaCommedia</titolo>
    
            <testo>nel mezzo...
    mi ritrovai...
            </testo>
        </poesia>
    </poesie>
    per poi chiamarlo con

    Codice PHP:
    <?php
    $titoloRichiesto
    = "";
    if ( isset(
    $_REQUEST["titolo"]) )
    {
    $titoloRichiesto = $_REQUEST["titolo"];
    }

    $xml = simplexml_load_file('xml/poesie.xml');
    $arr = $xml->xpath("/poesie/poesia");

    // se il titolo NON è settato nell'url
    // mostro i titoli
    if (empty($titoloRichiesto))
    {
    echo
    '<div id="titoli">';
    echo
    "<ul>";
    foreach(
    $arr as $poesia)
    {
    echo
    '<li><a href="index.php?pagina=poesie&titolo='.$poesia->titolo.'">'.$poesia->titolo.'</a></li>';
    }
    echo
    "</ul>";
    echo
    '</div>';
    }
    // altrimenti il testo della poesia
    else
    {
    echo
    '<div id="testo">';

    $titoloPrecedente = "";
    $titoloDaEsaminare = "";
    $titoloSuccessivo = "";
    $esiste = 0;


    foreach (
    $arr as $poesia)
    {
    //dico che il titolo precedente è uguale a quello già esaminato
    //$titoloPrecedente = $titoloDaEsaminare;

    //se il titolo preso nell'xml è ugule a quello richiesto
    if ($poesia->titolo == $titoloRichiesto)
    {
    //prendo il testo sostituendo i ritorni a capo con i tag opportuni
    $toPrint = str_replace( "\n", "<br/>\n", $poesia->testo);
    //dico che il titolo precedente è uguale a quello già esaminato
    $titoloPrecedente = $titoloDaEsaminare;
    //dico che il titolo da esaminare è uguale a quello richiesto
    $titoloDaEsaminare = $titoloRichiesto;
    //affermo d'aver trovato il titolo
    $esiste = 1;
    }
    //se il titolo non è lo stesso
    else
    {
    // ma è stato già trovato
    if ($esiste == 1)
    {
    //dico solo che la successiva è quella che sto analizzando
    $titoloSuccessivo = $poesia->titolo;
    break;
    }
    // e non è stato ancora trovato
    else
    {
    //dico che il titolo precedente è uguale a quello già esaminato
    $titoloPrecedente = $titoloDaEsaminare;
    //dico che il titolo da esaminare è uguale a quello richiesto
    $titoloDaEsaminare = $poesia->titolo;
    }
    }
    }


    echo
    "<table>";
    echo
    " <tr>";
    echo
    " <td><a href=\"index.php?pagina=poesie&titolo=".$titoloPrecedente."\">&lt;&lt;</a></td> ";
    echo
    " <td><a href=\"index.php?pagina=poesie\">Torna ai titoli</a></td> ";
    echo
    " <td><a href=\"index.php?pagina=poesie&titolo=".$titoloSuccessivo."\">&gt;&gt;</a></td>";
    echo
    " </tr>";
    echo
    "</table>";

    echo
    "<h1>" . $titoloRichiesto . "</h1>";
    $toPrint = str_replace( "\n", "<br/>\n", $poesia->testo);
    echo
    $toPrint;

    echo
    "</div>";
    }

    ?>
    inclusa in una pagina completa
    ma mi da l'errore che alla riga in cui v'è la chiamata alla funzione.
    Dove sbaglio, se sbaglio? Come risolvere?
    GRAZIE
    Ultima modifica di andreafallico : 01-05-2011 alle ore 19.56.36

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Devi controllare se PHP5 è attivo sul tuo sito.
    Leggi qui: http://it.altervista.org/wiki/index.php/Supporto_PHP
    Citazione Originalmente inviato da alterwiki
    Per utilizzare il supporto php5 è sufficiente accedere alla gestione file del pannello di controllo (AlterSito->Gestione Files), cliccare sull'icona dell'ingranaggio in alto a sinistra e abilitare php5, l'impostazione sarà valida per la cartella corrente e tutte le sottocartelle.

  3. #3
    Guest

    Predefinito

    GRAZIE MOLTO.
    Ho risolto in un attimo con le tue dritte... GRAZIE!!!!!!!!!!!!!!!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •