Php+xml(ecrire dans la ligne suivante)

Messages postés
26
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
5 août 2005
-
Messages postés
26
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
5 août 2005
-
salut,
voila je récupére les infos d'in formulaire et je les met dans un fichier xml.le problème c'est que lors d'un second remplissage du formulairec toujours la premiére ligne qui se modifie, or ca doit être la ligne suivante.
voila le fichier xml:
<?xml version="1.0" encoding="iso-8859-1"?>
<racine>

</racine>

et voila le code:
$t=$_REQUEST["t"];
$d=$_REQUEST["d"];
$p=$_REQUEST["p"];
$r=$_REQUEST["r"];
$prom=$_REQUEST["prom"];
$pak=$_REQUEST["pak"];

$fp=fopen("pg.xml","r+");
$data=fgets($fp,filesize('pg.xml'));


$i=0;
while($data=fgets($fp)){
if(strpos($data,"/racine") !== false) break;
$table=split("=",$data);
$i++;
}


$id=$i;
$Titre = htmlentities( "$table[1]", ENT_QUOTES, 'UTF-8');
$Titre = stripslashes($Titre);
fseek($fp,80);
if($i==$id)
{
fputs($fp,$t);
echo "c bon";
}

aidez-moi svp je suis débutante
merci d'avence

2 réponses

Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
L'erreur semble venir de fopen.

$fp=fopen("pg.xml","r+") -> Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier.

Tu devrais utiliser ca:
$fp=fopen("pg.xml","a+") -> Ouvre en lecture et écriture ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.

PS: http://ch2.php.net/manual/fr/function.fopen.php
Messages postés
26
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
5 août 2005

mais dans ce cas la variable $t s'écrira a la fin du fichier xml, or elle doit être placée devant Titre c-à-d <produit Titre= $t