Se connecter / S'enregistrer
Votre question

Phrase du jour [résolu]

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
23 Juin 2008 12:21:49

Bonjour à tous ,

je recherche un script en PHP pour pouvoir afficher une phrase en fonction de la date du jour.
Je désirerais pouvoir utiliser un fichier txt pour les phrases, ce qui me facilitera la gestion.

Un novice qui vous remercie

Autres pages sur : phrase jour resolu

23 Juin 2008 12:28:06

Les phrases, elles sortent d'où ? C'est toi qui va les écrire à la "main" chaque jour ?

Pourquoi veux-tu utiliser un fichier texte ? (possibilité d'utiliser une Base de données pour ce genre de chose...)

Pourrais-tu détailler ce que tu veux faire ? Tu veux qu'à chaque fois qu'on arrive sur ta page, ton serveur Web aille interroger un fichier texte en fonction de la date du jour et qu'il te l'affiche ?
23 Juin 2008 13:46:06

Je pense qu'il veut simplement un script qui affiche une phrase aléatoire tout les jours (une citation, un proverbe, une blague,...).

L'utilisation d'un fichier est je pense pour lui plus simple du fait qu'en ouvrant le fichier avec un éditeur il peut rentrer toutes ses phrases sans passer par des formulaires ou se genre de choses.

Après dsl mais je ne connais pas de script permettant de faire ca ... mais il doit y en avoir pas mal sur google.
Contenus similaires
23 Juin 2008 14:18:26

Voilà déjà un bout de code simple permettant d'afficher le contenu (les 255 premiers caractères) d'un fichier.
  1. <?
  2. $fp = fopen("phrase.txt","r");
  3. $donnees = fgets($fp,255);
  4. fclose($fp);
  5. echo'Le fichier contient : '.$donnees;
  6. ?>

Ensuite à voir comment et quand la phrase est changée...
24 Juin 2008 11:24:46

j'ai bien une solution, mais je sais pas si ça va convenir :

le fichier txt est en fait un .php (on va dire textes.php) qui contient ceci :
<?php
$textes = array(
"la première phrase",
"la deuxieme phrase",
"la troisieme",
"..."
);
?>


et le php qui va afficher une phrase :

<?php
require("textes.php");
echo $textes[date('d')];
?>
24 Juin 2008 11:54:36

Merci pour vos réponses mais je vais m'expliquer un peu plus.....

en fait, je voudrais que chaque jour apparaisse une phrase différente mais en tenant compte de la date

le fichier texte serait par ex :

01-01-08 - salut
02-01-08 - il fait beau
.
.
.
et sur la page d'acceuil, la phrase apparaiterais comme cela :

Citation du 02-01-08 :
"il fait beau"


et ainsi de suite mais comme dit bien Loic m c'est plus facile à gérer en txt qu'avec des formulaires

Merci de votre aide précieuse
24 Juin 2008 12:29:16

bin reprend mon code mais avec un index :

le fichier txt est en fait un .php (on va dire textes.php) qui contient ceci :

<?php
$textes = array(
"01-01-08" => "la première phrase",
"24-06-08" => "la deuxieme phrase",
"03-01-08" => "la troisieme"
);
?>



et le php qui va afficher une phrase :


<?php
require("textes.php");
echo "Citation du $index_date :<br>\"" . $textes[date("d-m-y")] . "\"";
?>


(y avait pas grand chose à modifier)
24 Juin 2008 12:50:02

Merci beaucoup mais voilà ce que ça donne :

\"$textes[$index_date]\""; ?>

tu peux vérifier à cette adresse : http://epemons.e3b.org/

Excuse-moi du dérangement mais je patauge vraiment en PHP et encore merci de ton aide
24 Juin 2008 12:56:15

De mon côté ca marche...
24 Juin 2008 13:18:34

Salut

Chez moi ca marche aussi :) 
24 Juin 2008 13:23:55

bin oui ça marche.
Tu as du essayé en local au lieu d'essayer sur un serveur apache.
24 Juin 2008 13:36:11

et ben merci à tous et encore mille excuses du dérangement, ça fonctionne effectivement à merveille

chapeau bas à tous et peut-être a+
24 Juin 2008 14:09:02

Bonjour,
Si cela vous intéresse, je l'ai en version texte :

- Le fichier phrases.txt

  1. (24-06-2008) La vie est un long fleuve tranquille*(25-06-2008)Fumer pue*(26-06-2008)Fumer tue*


- Le fichier today.php
  1. <HTML>
  2. <body>
  3. <?php
  4. $ouvre=fopen("phrases.txt","r");
  5.  
  6. $today = date("d-m-Y");
  7.  
  8. while (!feof ($ouvre))
  9. {
  10. $lecture = fgets($ouvre, 1000);
  11. $donnee=explode("*",$lecture);
  12.  
  13. $combien=count($donnee)-1;
  14.  
  15. for ($i=0;$i<=$combien;$i++)
  16. {
  17. if(ereg($today,$donnee[$i]))
  18. {
  19. $donnee[$i] = str_replace("(", "", $donnee[$i]);
  20. $donnee[$i] = str_replace(")", "", $donnee[$i]);
  21. $donnee[$i] = str_replace($today, "", $donnee[$i]);
  22. echo $donnee[$i];
  23. }
  24. }
  25. }
  26.  
  27. fclose($ouvre);
  28.  
  29. ?>
  30. </body>
  31. </HTML>
24 Juin 2008 15:29:53

Merci ça fonctionne également mais un petit soucis , le résultat laisse apparaître une paranthèse au début du texte ??? comme par ex : )La vie est un long fleuve tranquille

Pourriez-vous me dire d'ou cela vient??
Merci
24 Juin 2008 15:31:21

voilà j'ai trouvé, en fait il faut retirer la parenthèse juste après la date dans le fichier "phrase.txt"

Merci à tous de vos effort
24 Juin 2008 15:46:35

De rien :) 

Au fait il n'y a aucun problème mais il y a un bug du forum. A la ligne 20 du code :

$donnee[$i] = str_replace(")", "", $donnee[$i]);

Le forum rajoute un espace. avant la parenthèse. Il faut l'enlever.
24 Juin 2008 15:57:36

pourquoi se faire chier avec des * et des () ?
vous auriez pu faire avec un fichier comme ça :

01-01-08=bonjour les gens
02-01-08=ca va aujourd'hui ?

(j'avais fait une fonction qui sortait le résultat, si tu la veux j'essairai de la retrouver).
Perso je trouve le code que j'ai mis plus haut plus simple.
Mais tu fais ce que tu veux.
24 Juin 2008 16:08:18

Effectivement,
On peut le mettre avec votre code comme ça :

  1. <HTML>
  2. <body>
  3. <?php
  4. $ouvre=fopen("phrases.txt","r");
  5.  
  6. $today = date("d-m-Y");
  7.  
  8. while (!feof ($ouvre))
  9. {
  10. $lecture = fgets($ouvre, 1000);
  11. $donnee=explode("*",$lecture);
  12.  
  13. $combien=count($donnee)-1;
  14.  
  15. for ($i=0;$i<=$combien;$i++)
  16. {
  17. if(ereg($today,$donnee[$i]))
  18. {
  19. $donnee[$i] = str_replace("=", "", $donnee[$i]);
  20. $donnee[$i] = str_replace($today, "", $donnee[$i]);
  21. echo $donnee[$i];
  22. }
  23. }
  24. }
  25.  
  26. fclose($ouvre);
  27.  
  28. ?>
  29. </body>
  30. </HTML>


Moi je ne fais que répondre à la question qui a été posée, c'est vrai que votre solution est plus légère :) 
24 Juin 2008 17:54:12

tu peux me tutoyer (moi je tutoie tout le monde sur les forums).

Voici la solution en utilisant un fichier texte comme tu as mis (j'ai repris ton code et je l'ai un peu modifié) :

il faut un fichier phrases.txt sous cette forme :

24-06-08=jour 1
25-06-08=jour 2
26-06-08=jour 3
27-06-08=jour 4


et le code php suivant pour le lire :

<?php
$date = date("d-m-y");
if($ouvre=fopen("phrases.txt", "r" ))
{
while (!feof ($ouvre))
{
$lecture = fgets($ouvre, 1000);
$donnee=explode("=",$lecture);
if($donnee[0] == $date)
echo "Citation du $date : <br>$donnee[1]";
}
fclose($ouvre);
}
?>
24 Juin 2008 19:32:20

C'est plus soft ouais :) 

Je vais commencer à apprendre à faire des scripts plus softs je pense :) 
25 Juin 2008 11:02:58

eh bien merci pour vos commentaires, c'est sympa de voir que l'on peut être aidé comme ça...surtout que je suis novice en la matière .......je commence seulement à m'y mettre mais pour un débutant c'est pas aussi simple

en tout cas merci même si ce n'est qu'un petit bout de code
25 Juin 2008 11:07:18

De rien :) 
6 Décembre 2008 10:43:47

Bonjour à tous et merci de me recevoir dans votre forum.

J'ai éffectué la manipulation ci-dessous (merci jerbe) mais ma page apparaît en blanc.
J'ai réalisé le fichier phrases.txt en respectant le format (depuis Word -> enregister au format texte). Avec Dreamweaver cs3, j'ai réalisé une nouvelle page en php dans laquelle j'ai insérer le code en php entre les balises body.

code fichier x_citations.php
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<style type="text/css">
<!--
body,td,th {
font-size: 10px;
color: #000000;
}
-->
</style></head>

<body>
<?php
$date = date("d-m-y");
if($ouvre=fopen("phrases.txt", "r"))
{
while (!feof ($ouvre))
{
$lecture = fgets($ouvre, 1000);
$donnee=explode("=",$lecture);
if($donnee[0] == $date)
echo "Citation du $date : <br>$donnee[1]";
}
fclose($ouvre);
}
?>
</body>
</html>



Le fichier phrases.txt

5-12-2008=phrase 1
6-12-2008=phrase 2
7-12-2008=phrase 3

Merci d'avance.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS