je suis en train de programmer une interface d'administration test qui a pour but de mettre à jour des fichiers xml servant à un site flash.
Les fonctions parsing xml de php4 me paraissant trop compliquée, j'ai opté pour le parsing en javascript .
http://www.chemanco-bar.com/admin_test/ ... brique.php
=> cette page a pour but de supprimer une rubrique dans le fichier xml suivant (le code source de la page se trouve tout au bas) :
http://www.chemanco-bar.com/admin_test/rubriques.xml
La suppression se fait correctement, mais quand le formulaire est validé, la page se recharge ce sui est normal, mais on me met une erreur :
Code : Tout sélectionner
Ligne : 54
Car : 2
Erreur : Objet requis
Code : 0
URL :....J'y suis presque mais qu'ai-je fait faux?
Merci d'avance,
Pascal
PS : vous pouvez éventuellement faire un test sur ce jeu de test mais il faut utiliser IE .Des conseils sur ma façon de programmer en php sont également les bienvenus car je débute.
Code de mon fichier supprime_rubrique.php :
<html>
<head>
<meta http-equiv="Content-Type" Content="text/html; charset=ISO-8859-1" />
<title>Interface d'administration : Gestion des Photos</title>
<link href="styles.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript">
function validation() {
var nb_elements=xmlDoc.firstChild.childNodes.length;
var j=0;
//tableau qui contiendra tous les répertoires de rubrique à supprimer
var repertoires=new Array();
//suppression des noeuds à supprimer
for (i=0;i<=nb_elements-1;i++) {
if(document.forms[0].elements["rubrique"+i].checked){
var noeud=xmlDoc.getElementsByTagName("RUBRIQUES")[0].childNodes[i-j];
repertoires.push(xmlDoc.getElementsByTagName("RUBRIQUES")[0].childNodes[i-j].firstChild.firstChild.nodeValue);
xmlDoc.getElementsByTagName("RUBRIQUES")[0].removeChild(noeud);
j++;
}
}
var contenu=(xmlDoc.xml).toString();
document.forms[0].action="supprime_rubrique.php?contenu="+contenu;
document.forms[0].method="POST";
}
</script>
</head>
<body>
<?php
if (!empty($_GET['contenu'])) {
//ré-écriture du fichier rubriques.xml
$fp=fopen("../rubriques.xml","w");
fwrite($fp,utf8_encode($_GET['contenu']));
fclose($fp);
}
?>
<h3>Interface d'administration de CHEMANCO BAR : Gestion des Photos</h3>
<div id="menu">
<ul>
<li><a href="gag.php">Gestion "Gag du week-end"</a></li>
<li><a href="news.php">Gestion des News</a></li>
<li><a href="visu_guest.php">Gestion Guestbook (livre d'or)</a></li>
<li>Gestion des Photos
<ul>
<li><a href="ajout_rubrique.php">Ajouter une rubrique</a></li>
<li>Supprimer une rubrique</li>
<li><a href="ajout_photo.php">Ajouter une photo dans une rubrique</a></li>
<li><a href="supprime_photo.php">Supprimer une photo dans une rubrique</a></li>
</ul>
</li>
</ul>
</div>
<div id="contenu">
<p>Quelle rubrique voulez-vous supprimer? </p>
<p style="color:#990000"> <strong>Attention! La suppression d'une rubrique entraîne la suppression de toutes les photos qui s'y trouvent</strong> </p>
<script type="text/javascript">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false";
xmlDoc.load("../rubriques.xml");
if (xmlDoc.firstChild.childNodes.length>=1) {
document.write("<form onsubmit='validation()' enctype='multipart/form-data'>");
for (i=0;i<=xmlDoc.firstChild.childNodes.length-1;i++) {
document.write("<li><input type='checkbox' name='rubrique"+i+"' value='"+i+"'>RUBRIQUE N°"+(i+1)+"<br />");
document.write("<span id='label'>NOM DE LA RUBRIQUE : </span>");
document.write(xmlDoc.firstChild.childNodes[i].lastChild.firstChild.nodeValue);
document.write("<br /> ");
document.write("<span id='label'>Nom du répertoire : </span>");
document.write(xmlDoc.firstChild.childNodes[i].firstChild.firstChild.nodeValue);
document.write("</li><br /><br /> ");
}
document.write("<input type=submit value='Suppression de la rubrique'></form>");
}else {
document.write("Aucune rubrique éxistante pour le moment");
}
</script>
</div>
</body>
</html>