Bonjour et bravo pour ce site que je ne connaissais pas !

je suis en train de faire un petit système de mise a jour flash/php5/xml

tout fonctionne parfaitement en local avec apache mais une fois en ligne mon php s'exécute mais mon xml n'est pas modifié

j'avoue qu'apres avoir fait pas mal de recherch je sèche j'ai besoin d'un coup d'main !

j'ai vérifié je suis bien en php5, et le allow_ machin est sur on (oui j'ai pas précisé que je débute totalement en php)

si vous voulez tester :http://www.bleutomate.com/clients/Actus/

et le xml:
http://www.bleutomate.com/clients/Actus/news.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
 
<?php
	if(!empty($_POST)){
		$xmlFile = $_POST['flXmlFile'];
		$action = $_POST['flAction'];
		$id = $_POST['flId'];
		if ($action == "supprimer" ) {
			$date = null;
			$titre=null;
			$texte = null;
		} else {
			$date = $_POST['flDate'];
			$titre=$_POST['flTitre'];
			$texte = $_POST['flTexte'];
		}
	}
 
	/*$xmlFile = "news.xml";
	$action = "supprimer";
	$id = "3";
	//$date = "20/03/2011";
	//$titre = "nouveau t";
	//$texte = "nouveau texte";*/
	$dom = new DomDocument();
	$dom->preserveWhiteSpace = FALSE;
	$dom->formatOutput = TRUE;
 
	$dom->load($xmlFile);
	$listeNews = $dom->getElementsByTagName('news')->item(0);
	$listeNewsOne = $dom->getElementsByTagName('oneNews');
	// test de l'action demandée
	switch ($action) {
		case "modifier":
			modifier();
			break;
		case "ajouter":
			ajouter();
			break;
		case "supprimer":
			modifier();
			break;
		default: 
			echo "aucune action";
 
	}
	//MODIFIER
	function modifier() {
		global $action, $id, $listeNewsOne, $listeNews, $dom, $xmlFile;
		// parcour des noeuds oneNews
		foreach($listeNewsOne as $oneNews){
			$attr = $oneNews->getAttributeNode('id');
			// on cherche l'id a modifier en fonction de l'id envoyé par flash
			if ($attr->nodeValue == $id) {
				if ($action == "supprimer") {
					$listeNews->removeChild($oneNews);
						// on décale l'id des news au dessous de celle supprimée
						foreach($listeNewsOne as $oneNews) {
							$attr = $oneNews->getAttributeNode('id');
							$attr = (int)$attr->nodeValue;
							$target = (int)$id;
							if($attr>$target){
								$attr -= 1;
								$attr = (string)$attr;
								$oneNews->getAttributeNode('id')->nodeValue = $attr;
							}
						}
					$toflash = $action." : PHP executed";
					echo $toflash;
					$dom->save($xmlFile);
				}else{			
					actionXMl($oneNews);
				}
			}
		}
	}
	//AJOUTER
	function ajouter() {
		global $listeNews, $listeNewsOne;
		// on décale l'id de chaque news 
		foreach($listeNewsOne as $oneNews) {
			$attr = $oneNews->getAttributeNode('id');
			$attr = (int)$attr->nodeValue;
			$attr += 1;
			$attr = (string)$attr;
			$oneNews->getAttributeNode('id')->nodeValue = $attr;
		}
		// on clone la premiere news
		$newsClone = $listeNews->getElementsByTagName('oneNews')->item(0)->cloneNode(true);
		actionXMl($newsClone);
    }
	// ACTION sur le xml et enregistrement
	function actionXMl($News) {
		global $action, $date, $titre, $texte, $listeNews, $listeNewsOne, $dom, $xmlFile, $toflash;
		$oneN = $News;
		// on midifie les noeuds avec les variables reçus
		$oneN->getElementsByTagName('date')->item(0)->nodeValue = trim($date);
		$oneN->getElementsByTagName('titre')->item(0)->nodeValue = trim($titre);
		$oneN->getElementsByTagName('texte')->item(0)->nodeValue = trim($texte);
		if ($action == "ajouter") {
			// on met l'id de la nouvelle news à 1
			$oneN->setAttribute("id", "1");
			// ajout du clone dans le dom
			$listeNews->insertBefore($oneN, $listeNewsOne->item(0)); 
		}
		// enregistrement du xml modifié
 
		$toflash = $action." : PHP executed";
		echo $toflash;
		$dom->save($xmlFile);
	}
?>