FRANCE-JEUNES : TOUTE L'ACTU PAR LES JEUNES !
FRANCE-JEUNES : TOUTE L'ACTU PAR LES JEUNES !
 Sondage :
 Connectés :
56 connectés : 0 membres et 56 visiteurs Voir la liste     







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 ...)
. Voir tous les commentaires et/ou en poster un (6)
Re: Assurer en PHP sans mySQL
Posté par yolek le 20/08/2004 07:49:38
Ti-Krim, Il se trouve que le stockage de données dans des fichiers textes est une solution alternative à l'utilisation de bases de données. Il est tout à fait possible de disposer par exemple d'un fichier texte avec les couples login:mdp dans un répertoire sécurisé du site. Quant à la place prise par les données, elle est certes un peu plus grande (encore que ça se discute) mais ça n'est que rarement dimensionnant. Pour Info, l'espace pris par les données que tu as en base doit aussi décompter ton quotas chez l'hébergeur. La contraire serait surprennant ...
Re: Assurer en PHP sans mySQL
Posté par thin le 20/08/2004 07:49:38
je voudrais juste rajouter que pour pouvoir écrire dans les fichiers .txt, il est nécessaire d'avoir des droits d'écriture, qui s'obtiennent en modifiant le chmod (plus d'info, par ici : http://www.phpdebutant.org)
Re: Assurer en PHP sans mySQL
Posté par zizouweb le 20/08/2004 07:49:38
Moi je te conseillerais plutôt WebDynamit, ils était déjà trés performant avec 2 serveurs sur ADSL et viennent de passer en dédié, si ca peut servir : http://www.webdynamit.net/

Pour se qui est de l'article, c pas trés pratique parcque le fichier contenant les news va finir par être trés lourd, donc le temps de chargement et d'execution de la page rique de depasser les 30 secondes de timeout (en général c 30s)
Moi je te conseil de placer chaque news dans un fichier de donnée diferent. et de créer un 'index' qui te permettra de compter les news, de les triers par date, et biensur de diminuer le temps d'execution de tes pages.

Voila, ciao
Re: Assurer en PHP sans mySQL
Posté par gaetan le 20/08/2004 07:49:38
moi je conseil
freesurf
tres bon hebergeur
il fo envoyer une lettre pour ouvrir un compte mais sa vo trop lcoup!
Re: Assurer en PHP sans mySQL
Posté par adadas le 20/08/2004 07:49:38
je suis tout à fait d'accord avec toi, mais ça, certians hebergeurs ne l'ont pas compris ...
J'ai d'ailleur galéré pas mal de fois pour trouver un bon hebergeur ...
multimania: bien, toutes les fonctions, mais tombe en ruine, et est trufé de pub (même si j'ai trouvé comment la virer ;-) )
en plus, leur fonction mail() ne permet pas l'envoie de mails au format html !
Free: fiable, mais pas mail()
chez: lol
pour moi le meilleur (depuis peu de temps, car ils ont reneuvés les serveurs) c'est le village !
enfin bref, voila koi lol
. Voir tous les commentaires et/ou en poster un (6)
Publié le 14 mars 2003
Modifié le 14 mars 2003
Lu 4 064 fois

Cet article est un plagiat?
Imprimable (pdf/html)
Deviens membre (0€)
Pourquoi être membre ?
Poste tes articles !
Mot de passe perdu ?
Identification :
Login :
Pass :


News Lettre

Recevoir tous les nouveaux articles dans ta boîte à lettres ? Tu ne prends aucun risque, c'est résiliable à tout moment !
E-mail :


NEWDESIGN    DÉCLARATION CNIL N°752143