Ajout d'une fonction php pour masquer en variable une news
Résolu/Fermé
Coukies94
Messages postés
40
Date d'inscription
jeudi 3 septembre 2015
Statut
Membre
Dernière intervention
25 avril 2018
-
29 janv. 2018 à 00:27
Coukies94 Messages postés 40 Date d'inscription jeudi 3 septembre 2015 Statut Membre Dernière intervention 25 avril 2018 - 10 févr. 2018 à 22:25
Coukies94 Messages postés 40 Date d'inscription jeudi 3 septembre 2015 Statut Membre Dernière intervention 25 avril 2018 - 10 févr. 2018 à 22:25
A voir également:
- Ajout d'une fonction php pour masquer en variable une news
- Fonction si et - Guide
- Masquer une conversation whatsapp - Guide
- Easy php - Télécharger - Divers Web & Internet
- Ajout rapide snap - Forum Snapchat
3 réponses
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
29 janv. 2018 à 08:04
29 janv. 2018 à 08:04
Bonjour
Il te suffit d'utiliser les mêmes codes pour sauvegarder dans un autre fichier texte celles que tu veux archiver.
Quel est ton souci exactement ?
Il te suffit d'utiliser les mêmes codes pour sauvegarder dans un autre fichier texte celles que tu veux archiver.
Quel est ton souci exactement ?
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
30 janv. 2018 à 10:12
30 janv. 2018 à 10:12
Ca deverait faire l'affaire :
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
<?php //Activation de l'affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //récupération propre des variables AVANT de les utiliser $id = !empty($_GET['id']) ? (int)$_GET['id'] : NULL; $titre = !empty($_POST['titre']) ? $_POST['titre'] : NULL; $contenu = !empty($_POST['contenu']) ? $_POST['contenu'] : NULL; $newsAmodifier = $id; if(!$id) { header('Location: index.php'); exit(); } if($titre && $contenu) { $news[$newsAmodifier]['titre'] = $titre; $news[$newsAmodifier]['contenu'] = $contenu; //On récupère l'array des news archivées $newsarchive = unserialize(file_get_contents('news.txt')); //On récupère l'array des news $news = unserialize(file_get_contents('news.txt')); file_put_contents('archive/news_archive.txt', serialize($news)); echo 'La news a bien été archivée'; 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é du fichier news.txt !'; } echo '<br />'; echo '<a href="index.php">Retour</a>'; } else { ?> <form action="" method="POST"> Auteur : <strong><?php echo $news[$newsAmodifier]['auteur'] ?></strong><br /> <label for="titre">Titre de la news :</label> <input type="text" name="titre" id="titre" value="<?php echo $news[$newsAmodifier]['titre'] ?>" /><br /> <label for="contenu">Contenu de l'incident ou demande : </label><br /> <textarea name="contenu" id="contenu" rows="20" cols="60"><?php echo $news[$newsAmodifier]['contenu'] ?></textarea><br /> <input type="submit" value="Appliquer les modifications" /> <br> <a href="index.php">Retour</a> </form> <?php } ?>
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Coukies94
Messages postés
40
Date d'inscription
jeudi 3 septembre 2015
Statut
Membre
Dernière intervention
25 avril 2018
8
Modifié le 30 janv. 2018 à 11:05
Modifié le 30 janv. 2018 à 11:05
Bonjour Jordane, bien compris pour le code, désolé, je le ferais à l'avenir, c'est vrais que c'est beaucoup plus compréhensible.
Merci de prendre du temps pour moi et mon problème
======
Je viens d'essayer le code que tu m'a fournis, la copie dans news_archive.txt et la suppression de news.txt se fait bien en même temps mais, je n'arrive plus à archiver ma première news et j'ai encore mes deux erreurs quand j'archive la deuxième news:
1) Au moment d'archiver une news via index.php nous sommes obligé de cliquer sur le bouton "appliquer les modification" pour que le fichier "news_archive.txt" reçoive la news (j'ai en plus des erreurs que je ne comprend pas, voir le screenshot)
2) Dans mon index.php (et donc news.txt) si je créé la news 1 et la news 2 et que j'archive la news 2, je me retrouve dans le fichier news_archive.txt avec les 2 news .... et si j'archive une autre ligne ça écrase la news de news_archive.txt
==========
Si tu peux (et a le temps je te laisse voir en direct, le site est en ligne)
URL de mon index : http://coukies.zapto.org:8000/
URL de mon index_archive : http://coukies.zapto.org:8000/archive/index_archive.php
Merci de prendre du temps pour moi et mon problème
======
Je viens d'essayer le code que tu m'a fournis, la copie dans news_archive.txt et la suppression de news.txt se fait bien en même temps mais, je n'arrive plus à archiver ma première news et j'ai encore mes deux erreurs quand j'archive la deuxième news:
1) Au moment d'archiver une news via index.php nous sommes obligé de cliquer sur le bouton "appliquer les modification" pour que le fichier "news_archive.txt" reçoive la news (j'ai en plus des erreurs que je ne comprend pas, voir le screenshot)
2) Dans mon index.php (et donc news.txt) si je créé la news 1 et la news 2 et que j'archive la news 2, je me retrouve dans le fichier news_archive.txt avec les 2 news .... et si j'archive une autre ligne ça écrase la news de news_archive.txt
==========
Si tu peux (et a le temps je te laisse voir en direct, le site est en ligne)
URL de mon index : http://coukies.zapto.org:8000/
URL de mon index_archive : http://coukies.zapto.org:8000/archive/index_archive.php
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
30 janv. 2018 à 12:14
30 janv. 2018 à 12:14
Oupsss...
déjà commence par inverser quelques lignes dans le code :
A remplacer par :
déjà commence par inverser quelques lignes dans le code :
$news[$newsAmodifier]['titre'] = $titre; $news[$newsAmodifier]['contenu'] = $contenu; //On récupère l'array des news archivées $newsarchive = unserialize(file_get_contents('news.txt')); //On récupère l'array des news $news = unserialize(file_get_contents('news.txt'));
A remplacer par :
//On récupère l'array des news archivées $newsarchive = unserialize(file_get_contents('news.txt')); //On récupère l'array des news $news = unserialize(file_get_contents('news.txt')); $news[$newsAmodifier]['titre'] = $titre; $news[$newsAmodifier]['contenu'] = $contenu;
Coukies94
Messages postés
40
Date d'inscription
jeudi 3 septembre 2015
Statut
Membre
Dernière intervention
25 avril 2018
8
Modifié le 30 janv. 2018 à 22:12
Modifié le 30 janv. 2018 à 22:12
Je viens de faire les modifications dans le fichier archiver_news.php
Mais cela n'a pas réglé mes problèmes précédents (en fait j'ai l’impression que ça n'a pas changé le fonctionnement)
Voici mon code complet actuellement suite à ton conseil :
C'est peut être juste pas possible ce que je voudrais faire .... ça me déprime de pas y parvenir lol
Mais cela n'a pas réglé mes problèmes précédents (en fait j'ai l’impression que ça n'a pas changé le fonctionnement)
Voici mon code complet actuellement suite à ton conseil :
<?php //Activation de l'affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //récupération propre des variables AVANT de les utiliser $id = !empty($_GET['id']) ? (int)$_GET['id'] : NULL; $titre = !empty($_POST['titre']) ? $_POST['titre'] : NULL; $contenu = !empty($_POST['contenu']) ? $_POST['contenu'] : NULL; $newsAmodifier = $id; if(!$id) { header('Location: index.php'); exit(); } if($titre && $contenu) { //On récupère l'array des news archivées $newsarchive = unserialize(file_get_contents('news.txt')); //On récupère l'array des news $news = unserialize(file_get_contents('news.txt')); $news[$newsAmodifier]['titre'] = $titre; $news[$newsAmodifier]['contenu'] = $contenu; //On récupère l'array des news $news = unserialize(file_get_contents('news.txt')); file_put_contents('archive/news_archive.txt', serialize($news)); echo 'La news a bien été archivée'; 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é du fichier news.txt !'; } echo '<br />'; echo '<a href="index.php">Retour</a>'; } else { ?> <form action="" method="POST"> Auteur : <strong><?php echo $news[$newsAmodifier]['auteur'] ?></strong><br /> <label for="titre">Titre de la news :</label> <input type="text" name="titre" id="titre" value="<?php echo $news[$newsAmodifier]['titre'] ?>" /><br /> <label for="contenu">Contenu de l'incident ou demande : </label><br /> <textarea name="contenu" id="contenu" rows="20" cols="60"><?php echo $news[$newsAmodifier]['contenu'] ?></textarea><br /> <input type="submit" value="Appliquer les modifications" /> <br> <a href="index.php">Retour</a> </form> <?php } ?>
C'est peut être juste pas possible ce que je voudrais faire .... ça me déprime de pas y parvenir lol
Coukies94
Messages postés
40
Date d'inscription
jeudi 3 septembre 2015
Statut
Membre
Dernière intervention
25 avril 2018
8
10 févr. 2018 à 22:25
10 févr. 2018 à 22:25
Je me suis rabattu sur un système un peut plus complet et aboutis (pour lequel je vais encore vous soliciter dans un autre post ^^) :
https://openclassrooms.com/courses/un-systeme-de-news-sans-base-de-donnees-grace-a-serialize-et-unserialize
Merci pour votre aide tout de même !
https://openclassrooms.com/courses/un-systeme-de-news-sans-base-de-donnees-grace-a-serialize-et-unserialize
Merci pour votre aide tout de même !
29 janv. 2018 à 08:33
J'aimerais si possible que l'on m'aide à modifier le fichier index.php pour ajouter la fonction archiver et que l'ont m'aide également à créer le fichier "archiver_news.php"
J'ai tenté de le faire mais sans succès ....
29 janv. 2018 à 10:08
Il te faut donc créer un fichier archiver_news.php
Dans lequel tu placeras le code
-> Ajout de la news dans un autre fichier text
-> Suppression de la news dans l'ancien fichier
29 janv. 2018 à 10:12
Modifié le 30 janv. 2018 à 10:02
J'ai donc pu avancer et créé le fichier "archiver_news.php" et le fichier "news_archive.txt"
===========================
Il va bien ajouter la news dans un autre fichier "news_archive.txt" et il supprime bien la news du fichier "news.txt" mais deux problèmes (surement du au fait que j'ai tenté d'adapter le code du fichier "editer_news.php" pour faire l'archivage de la news) :
1) au moment d'archiver une news via mon index.php la suppression se fait bien en automatique mais nous sommes obligé de cliquer sur le bouton "appliquer les modification" pour que le fichier "news_archive.txt" reçoive la news => possible de le faire directement sans confirmation ?
2) dès que j'archive 2 news, la deuxième écrase ma première .... => possible d'incrémenter au lieu d'editer ?
=====================================
Voici le fichier "archiver_news.php"
=====================================
======================================
A toute fin utile :
Voici le fichier "ajouter_news.php" qui me sert pour ajouter des news à mon fichier news.txt il peut surement servir pour corriger mon code ci-dessus mais je n'y suis pas parvenu
======================================
Explications disponibles ici :ICI
Merci d'y penser dans tes prochains messages.Jordane45
Modifié le 30 janv. 2018 à 10:03