<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><?php
/*Conto il numero dei "libri" per impostare il limite di scelta nella form ***ELIMINABILE*** */
$libri_arr = json_decode(json_encode(simplexml_load_file('libri.xml')),true);
$max_books_num = count($libri_arr['libro']);echo "\n";?>
<form method="POST" action=''>
ID Libro <input type="number" min="1" max="<?php echo $max_books_num; ?>" value="<?php echo $id->nodeValue ?>" name="id" />
Valutazione <input type="number" min="1" max="5" value="<?php echo $valutazione->nodeValue ?>" name="valutazione"/>
<input name="submit" type="submit" value="Aggiorna" />
</form>
<?php
if(file_exists('libri.xml')){
if(isset($_POST['submit'])){/*Se il pulsante "Modifica è stato premuto:*/
/*Recupero i valori della form*/
$nuova_valutazione = $_POST["valutazione"];
$id_libro = $_POST["id"];
$id_vettore = --$id_libro;
/*Creo un nuovo documento con tutti i dati di libri.xml*/
$xml = new DOMDocument('1.0', 'utf-8');
$xml->formatOutput = true;
$xml->preserveWhiteSpace = false;
$xml->load('libri.xml');
//Recupero l'ID del Libro
$libro = $xml->getElementsByTagName('libro')->item($id_vettore);
//Recupero tutti i nodi dell' ID libro interessato
$id = $libro->getElementsByTagName('id')->item(0);
$titolo = $libro->getElementsByTagName('titolo')->item(0);
$totvalu = $libro->getElementsByTagName('totvalu')->item(0);
$numvalu = $libro->getElementsByTagName('numvalu')->item(0);
$valutazione = $libro->getElementsByTagName('valutazione')->item(0);
//Sovrascrivo il nodo <valutazione> con il nuovo valore
$libro->replaceChild($valutazione, $valutazione);
$valutazione->nodeValue = $nuova_valutazione;
htmlentities($xml->save('libri.xml'));
}
}else{echo 'Impossibile aprire libri.xml';}
/*Stampo il risultato dei libri aggiornato ***ELIMINABILE*** */
$libri_arr = json_decode(json_encode(simplexml_load_file('libri.xml')),true);
echo '<pre>'."\n";
print_r($libri_arr);
echo "\t\t".'</pre>'."\n";
?>
</body>
</html>