PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » Dictionnaire php via fichiers » 09-09-2009 09:43:27

gzg19
Réponses : 1

Bonjour a tous!
je souhaite faire un dictionnaire de mots, auquels on peut ajouter des synonymes.
Ces mots et synonymes sont enregistrés dans un fichier txt.
Par la suite, on pourra continuer d'ajouter des mots et des synonymes, rechercher un mot via la liste alphabétique et supprimer si l'on souhaite des mots ou synonymes.
J'ai travaillé sur le code  ci-dessous, mais le fait est qu'une partie de mon code s'affiche, je ne comprends pas.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
      <head>
      <title>Dictionnaire de Cuisine et synonymes</title>
      <link rel="stylesheet" type="text/css" media="all" href="style.css" />
</head>
      <body>

      <h1>Dictionnaire de Cuisine et synonymes</h1>
      <?
      set_magic_quotes_runtime(0);
      
      $fichier = 'dico_cuisine.txt';

      switch ($_POST['action'])
{
      case "ecrire":

      function formate_machaine($chaine)
        {

      $chaine = str_replace('\n', '', $chaine);
      $chaine = str_replace('|', '', $chaine);
      $chaine = strip_tags($chaine);
      $chaine = trim($chaine);
      $chaine = substr($chaine, 0, 100);

      return $chaine;
        }
      $mot = formate_machaine($_POST['mot']);
      $synonyme = formate_machaine($_POST['synonyme']);
      if($mot != '' and $synonyme != '')
      {
      if(filesize($fichier)>3000) $mode = 'w'; else $mode = 'a';

      $fp = fopen($fichier, $mode);
      fputs($fp, "$mot|$synonyme");
      fputs($fp, "\n");
      fclose($fp);

      echo '<p>Mot et synonyme ajoutés !</p>';
      echo '<p><a href="'.$_SERVER['PHP_SELF'].'">Retour</a></p>';
      }
      else
      {
      echo '<p>Erreur, veuillez remplir les deux champs !</p>';
      echo '<p><a href="'.$_SERVER['PHP_SELF'].'">Retour</a></p>';
      } break;
     
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="ecriture">

      <input type="hidden" name="action" value="ecrire" />

      <table summary="Ecriture dans le fichier" border="1">

      <tr class="titre">

      <td colspan="2">Ecriture dans le fichier</td>

      </tr>
      <tr>
      <td>Mot</td>
      <td>
      <input type="text" name="mot" size="30" maxlength="30" />
      </td> </tr>
      <tr> <td>Synonyme</td>
      <td>
      <input type="text" name="synonyme" size="30" maxlength="100" />
      </td> </tr>
      <tr> <td> </td>
      <td>
      <input type="submit" name="envoyer" value="Et Hop!" />
      </td></tr></table>
      </form>
      <table summary="Lecture du fichier">

      <tr class="titre">

      <td colspan="2">Lecture du fichier</td>

      </tr>
<?
      if(file_exists($fichier))
      {
      $fp = fopen($fichier, 'r');
      while (!feof($fp))
      {
      $ligne = fgets($fp, 4096);
      $liste = explode('|', $ligne);
      $mot = htmlentities($liste[0]);
      $synonyme = htmlentities($liste[1]);
      if(get_magic_quotes_gpc())
      {
      $mot = stripslashes($mot);
      $synonyme = stripslashes($synonyme);
      }
      if($mot != '' and $synonyme != '')
      {
      echo '<tr>';
      echo '<td>' . $mot . '</td>';
      echo '<td>' . $synonyme . '</td>';
      echo '</tr>';
      }
      }
      fclose($fp);
      }
      else
      {
      echo '<p>Fichier introuvable ! Lecture stoppée.</p>';
      }
?>
      </table>
<?
      break;
}
?>
      </body>
      </html>

Si vous avez une idée pour resoudre mon probleme big_smile
Un grand merci a toutes les bonnes volontés

Pied de page des forums

Propulsé par FluxBB