Erreur dans le script ?

Erreur dans le script ? - PHP - Programmation

Marsh Posté le 16-08-2007 à 18:01:22    

Bonjour !
Je réalise un système de news avec flash, php et xml.
Les news sont stockées dans un xml, et lue par flash. jusque là, pas de pb.
Pour écrire une news, j'utilise encore flash qui envoie les deux variables wdate et wnews à une page php qui est chargée d'écrire dans le xml
voilà la page php :

Code :
  1. <?
  2. //fonction renvoie la valeur à Flash pour indiquer que le traitement est fini
  3. function Parse($variable,$valeur)
  4. {
  5.      echo "&$variable=$valeur";
  6. }
  7. //ecrit dans le fichier XML
  8. function writeFile( $filename, $date1, $news1)
  9. {
  10.   @$fp = fopen( $filename, "r+" );
  11.   $find=FALSE;
  12.   $lenght=0;
  13. //on recherche la derniére balise et on se positionne dessus
  14.   while(!feof($fp)&&!$find) {
  15.     $string = fgets($fp);
  16.     if ($string=="</newsblock>" ) {
  17.   $find = TRUE;
  18.   }
  19. else {
  20.   $lenght += strlen($string);
  21.   }
  22. }
  23. //on ecrit le nouveau message dans le format du fichier XML
  24. if ($find) {
  25.   fseek($fp, $lenght);
  26.     fputs($fp,"\n" );
  27.    fputs($fp,"<news>" );
  28.    fputs($fp,"\n" );
  29.    fputs($fp," <val date=\"".$date1."\"/>" );
  30.    fputs($fp,"\n" );
  31.    fputs($fp," <val info=\"".$news1."\"/>" );
  32.    fputs($fp,"\n" );
  33.    fputs($fp,"</news>" );
  34.    fputs($fp,"\n" );
  35.    fputs($fp,"</newsblock>" );
  36. }
  37. fclose($fp);
  38. }
  39. //on recupere les valeur envoyées par Flash
  40. $date = $_POST['wdate'];
  41. $news = $_POST['wnews'];
  42. $mop=writeFile('news.xml',$date, $news);
  43. //On renvoie la valeur à Flash
  44. Parse("op_fin","1" );
  45. ?>


 
voilà le xml :

Code :
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <newsblock>
  3. <news><val date='04 septembre 2007'/><val info="Bienvenue sur le tableau de bord mathématique !"/></news>
  4. <news> <val date='05 septembre 2007'/> <val info="Bienvenue sur le tableau de bord mathématique2 !"/></news>
  5. </newsblock>


 
Le problème, c'est qu'il ne se passe rien :le xml n'est pas mis à jour !
Quelqu'un a-t-il une idée ?
Merci d'avance...
 
LeBoc

Reply

Marsh Posté le 16-08-2007 à 18:01:22   

Reply

Marsh Posté le 16-08-2007 à 18:24:35    

est-ce que ton $find vaut bien true à un moment donné?

Reply

Marsh Posté le 16-08-2007 à 18:31:00    

Ben j'arrive pas à savoir .. ma page ne s'affiche pas, elle traite juste les variables, et même si je colle un echo dedans, je ne vois rien

Reply

Marsh Posté le 17-08-2007 à 11:16:12    

ben après ton if ($find) { tu mets un echo "coucou"; s'il ne s'affiche pas, c'est que tu passes dedans :sleep:

Reply

Marsh Posté le 17-08-2007 à 12:47:44    

Dit moi, comment tu sais si t'arrive à ouvrir ton fichier alors que tu empêches l'affichage des erreurs au moment de l'ouverture (le fameux @)?
 
Le premier truc à faire quand on débogue du php c'est d'afficher les erreurs ou de les attraper pour les enregistrer ailleurs (dans un fichier, une base de donnée, ...)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed