Php+xml(ecrire dans la ligne suivante)

louna_r Messages postés 26 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 5 août 2005 - 2 août 2005 à 11:17
louna_r Messages postés 26 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 5 août 2005 - 2 août 2005 à 11:48
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

malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
2 août 2005 à 11:41
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
0
louna_r Messages postés 26 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 5 août 2005
2 août 2005 à 11:48
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
0
Rejoignez-nous