Visualizzazione risultati 1 fino 3 di 3

Discussione: Errore Lettura/Scrittura file XML

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,234

    Predefinito Errore Lettura/Scrittura file XML

    Buonasera a tutti, rilevo questo errore
    Codice:
    Impossibile visualizzare la pagina XML 
    Impossibile visualizzare l'input XML tramite il foglio di stile XSL. Correggere l'errore, quindi fare clic su Aggiorna, oppure riprovare in un momento successivo. 
    
    
    --------------------------------------------------------------------------------
    
    Il tag finale "textarea" non corrisponde al tag iniziale "form". Errore durante l'elaborazione della risorsa "http://miki92...
    
    </urlset></textarea><br /><br /><input type="submit" value="Invia" /></form>
    -----------^
    Se provo a leggere/scrivere un file xml con questo codice php:
    Codice PHP:
    <?
    if ( isset($_POST['contenuto']) && ( $f = fopen("../xml/news.xml","w+") ) ) {
    fwrite($f, $_POST['contenuto']);
    fclose($f);
    }
    $c = file_get_contents("../xml/news.xml");
    echo
    "<form name=\"form\" method=\"POST\" action=\"".$_SERVER['php_self']."\">";
    echo
    "<textarea name=\"contenuto\" style=\"width: 285px; height: 198px\" />".$c."</textarea>";
    echo
    "<br /><br /><input type=\"submit\" value=\"Invia\" />";
    echo
    "</form>";
    ?>
    Why?
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Il problema non e` nel php ma nella parte html e nel file xml, probabilmente nell'interazione fra i due. Mi spiego: nel file xml ci sono dei tag, giusto?
    questi nel momento in cui li inserisci possono andare a chiudee un tag della pagia html, tipo form o textarea, creando ilproblema dato dal secondo errore.

    Fortunatamente e` abbastanza facile risolvere questo problema, basta trasformare in fase di lettura del file tutti i caratteri speciali nelle rispettive "entities", cosi` il browser non li interpreta (tipo, < diventa &lt;).
    Per far cio` c'e` una comoda funzione che fa il lavoro per noi, htmlspecialchars(), quindi per iniziare puoi modificare cosi`, poi vediamo che succede:
    Codice PHP:
    <?
    if ( isset($_POST['contenuto']) && ( $f = fopen("../xml/news.xml","w+") ) ) {
    fwrite($f, $_POST['contenuto']);
    fclose($f);
    }
    $c = htmlspecialchars(file_get_contents("../xml/news.xml"));
    echo
    "<form name=\"form\" method=\"POST\" action=\"".$_SERVER['php_self']."\">";
    echo
    "<textarea name=\"contenuto\" style=\"width: 285px; height: 198px\" />".$c."</textarea>";
    echo
    "<br /><br /><input type=\"submit\" value=\"Invia\" />";
    echo
    "</form>";
    ?>
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,234

    Predefinito

    Grazie gve ora funziona tutto bene.
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

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