Extrait du site https://www.france-jeunes.net

Assurer en PHP sans mySQL


Vous voulez faire un site en PHP, mais vous ne disposez pas sur votre hebergeur de base mySQL... Bah ce n'est pas grave ! Voici la solution "de rechange", car elle n'est pas aussi pratique qu'un vraie base, mais ca permet de faire un posteur de News par exemple, et même plus gros (forums...)...



Bon on va pas faire une intro fastidieuse, jvois bien que vous sautez d'impacience sur vos chaises...

On est partit

On va faire cela sous forme d'exemple: Un posteur de news.
Structure:
[admin.htm] -> Formulaire d'ajout: Champs de titre de la news, champ de la news, posteur*, email du posteur*
[post.php] -> Ecriture dans le fichier texte de la news
[see-news.php] -> Lecture du fichier texte


Subtilistées
Le truc c'est qu' on affiche les news, la plus récente en haut, on va donc écrir dans le fichier texte, au début, avant toutes les autres news ....
le problème c'est que la propriété des fonction d'écriture dans les fichiers texte en php ne permettent pas d'écrir au début sans effacer ....en gros ça donnerais ça >>
fichier texte avant ajout :
la premiere news est ici
et après ajout de la news "news 2":
news 2miere news est ici

Donc l'astuce consite à repredre le contenu du fichier, de le combiné à l'aide de variables à la nouvelle news, et de replacer le tout dans le fichier ...
voici le ...



Code

[admin.htm]
<form action="post.php" method="post">
<input type="text" name="titre">
<textarea name="corp"></textarea>
</form>

post.php c'est la page qui contient le code de manip avec le fichier texte
titre C'est le nom du champ, il sera automatiquement transformé en $titre (variable PHP) et il contiendra le titre de la news
corp c'est le nom du champ, li sera automatiquement transformé en $corp (variable PHP) et il contiendra la news

cette page peut etre incluse dans votre site si vous voulez que les visiteurs puissent écrir des news (dans ce cas, ajoutez deux champs, "pseudo" et "email", du meme type que "titre")



[post.php]

<?
$newzz = $titre.'<br>'.$corp.'<br><br>';
$fp = fopen("news.txt","r+");
$old_news = fgets($fp);
$new_news = $newzz.$old_news;
fseek($fp,0);
fputs($fp,$new_news);
fclose($fp);
?>




[see-news.php]

<?
$fp = fopen("news.txt","r");
$aff_news = fgets($fp);
fclose($fp);
echo $aff_news;
?>


Biensure, a vous d'insérer la date par la fonction date() etc ...
J'érirais un article prochainement ... "Les trucs utiles pour les insertions automatiques PHP (news, forum ... > date, saut de lignes etc ...)
Extrait du site https://www.france-jeunes.net
Tous droits réservés