Salut à tous,
je suis en train de créer un site pour un ami qui m'a demandé à ce que chaque page puisse être éditable.
J'y suis presque arrivé mais avant de passer à la suite, je vous fait part de mon travail pour que vous l'ayez sous les yeux:
Mon système est basé sur un système de news sans bdd et est composé de 5 fichiers.
- Document .txt qui reçois les news/messages
- Fichier 'ajouter_news.php' qui possède le code suivant:
Code :
- <body>
- <form action="" method="post">
- <label for="contenu">Contenu de la news :</label> <br />
- <textarea name="contenu" id="contenu" rows="20" cols="60"></textarea><br />
- <input type="submit" value="Ajouter la news" />
- <p> </p>
- <?php
- if($_POST['contenu']){
- //On définit les variables
- $contenu = $_POST['contenu'];
-
- //Puis on récupère les news qui existent déjà, et on stocke le tout dans $news
- $news = unserialize(file_get_contents('news.txt'));
- //On ajoute les données de la news à la suite de l'array
- $news[] = array('contenu' => $contenu);
- //Et pour finir, on enregistre le tout
- file_put_contents('news.txt', serialize($news));
- echo 'La news a bien été ajoutée !';
- } else {
- //Affichage du formulaire
- }
- ?>
- </body>
|
Ce dernier possède le formulaire en question et permet de valider le message.
- Fichier 'liste_news.php'
Code :
- <?php
- $liste_news = unserialize(file_get_contents('news.txt'));
- if(!empty($liste_news)) {
- foreach($liste_news as $id => $news) {
- $news = array_map('htmlspecialchars', $news);
- ?>
- <p><?php echo $news['contenu'] ?></p>
- <i><a href="supprimer_news.php?id=<?php echo $id ?>" onclick="return confirm('Etes-vous sûr de vouloir supprimer cette news ?');">Supprimer</a>
- </i>
- <br /><br />
- <?php
- }
- }
- else {
- echo 'Il n\'y a aucune news pour le moment<br />';
- }
- echo '<a href="ajouter_news.php">Ajouter une news</a>';
- ?>
|
Ce dernier recense les news et me permet de les supprimer, d'en ajouter une.
et un fichier 'supprimer_news.php'
Code :
- <body>
- <?php
- //Si l'id passé en paramètre dans l'url n'existe pas, c'est que le visiteur a été amenené ici par hasard
- if(!isset($_GET['id'])) {
- //Donc on redirige vers index.php
- header('Location: ajouter_news.php');
- //Puis on stoppe l'exécution du script
- exit();
- }
- //On récupère l'array des news
- $news = unserialize(file_get_contents('news.txt'));
- //Puis l'id passé en paramètre
- $id = (int) $_GET['id'];
- //Si la news existe
- if(isset($news[$id])) {
- //On efface l'index correspondant à l'id de la news
- unset($news[$id]);
- //Puis on sauvegarde le tout
- file_put_contents('news.txt', serialize($news));
- echo 'La news a bien été supprimée !';
- }
- else {
- echo 'La news n\'existe pas.';
- }
- echo '<br />';
- echo '<a href="liste_news.php">Retour</a>';
- ?>
|
Tout marche comme il faut sauf qu'a ce jour je rencontre deux problèmes.
Déja le formulaire est simple, il n'a pas de menu et je voudrai au moins qu'on puisse y choisir du gras, de l'italic.
En suite, je rencontre un autre souci, quand j'écrit dans le formulaire, bien que ce dernier fonctionne, je constate qu'il ne prend pas en compte les retours à la ligne.
Donc je voudrai régler ca.
Alors si quelqu'un pouvait m'aider, ce serai simpas.
Merci d'avance
Message édité par dante05 le 01-08-2014 à 18:08:37