Frasi prestabilite ogni giorno del mese


<?php
$giornoDelMese=date("d");
/* Quindi devi creare un file che contenga il testo del giorno, per ogni giorno del mese */
/* Es. giorno01.php, giorno02.php, etc. */
include("giorno".$giornodelMese."php");
?>
In pratica devi avere una pagina principale e una serie di sottopagine(files) con il numero del giorno.
es. principale.php (in cui inserisci il codice che ti ho postato sopra), quiundi una cartella /giorni in cui inserire i vari file che contengono il testo di ogni giorno (giorno01.php, giorno02.php, etc.)
In questo modo in base al numero di giorno del mese il file principale include il file corrispondente.
Potresti mettere anche tutto in unico file, ma non te lo consilgio.
Un'alternativa potrebbe essere quella di ricorrere ad un database per memorizzare le frasi
Ti crei una tabella che contenga un testo per ogni giorno
CREATE TABLE `frasi` (
`idfrase` smallint(3) unsigned NOT NULL auto_increment,
`frase` varchar(255) NOT NULL default '',
PRIMARY KEY (`idfrase`)
) TYPE=MyISAM;
Popoli il tuo db ed inserisci 366 frasi (in previsione degli anni bisestili).
A questo punto con un semplice script php avrai la tua frase quotidiana
<?php
$conn = mysql_connect("localhost","root"); 
mysql_select_db("il_nome_del_db_che_contiene_le_tue_frasi");
// Infine con una semplice query avrai ogni giorno una frase diversa
$query = mysql_query("select frase from frasi where idfrase = dayofyear(now())");
$frase = mysql_result($query,0,frase);
echo $frase;
?>

Se invece rileggendo meglio mi è sembrato di capire che ad esempio il primo di ogni mese vuoi sempre la stessa frase allora basta che inserisci 31 record e usi
dayofmonth(now()) anzichè dayofyear

OPPURE

<?php
$giorno = date('j'); 
// così ti recupera il giorno senza lo 0
// davanti nel caso sia inferiore al 10° del mese
// Ti crei un array di 31 elementi. Io ne ho messo 3 di valori
// giusto per illustrarti il procedimento
$frasi = array(1 => "frase1", 2 => "frase2", 3 => "frase3");
foreach ($frasi as $key =>$value)
  {
    if ($giorno == $key)
    echo $value;
  }
//In pratica cicla l'array, verifica che la chiave coincida con il
//giorno attuale e a questo punto stampa il valore corrispondente
//a quella chiave.
//Devi solo inserire nel tuo array le 31 frasi
//Prova a modificare la tua data di sistema al 1°,2° e 3° giorno del mese per vedere il funzionamento
?>


In alternativa puoi usare anche file di testo con lo stesso sistema di quelli php (in questo caso devo creare 31 files txt):
<?php 
//file principale.php
$giornoDelMese=date("d");
/* Quindi devi creare un file che contenga il testo del giorno, per ogni giorno del mese */ 
/* Es. giorno01.txt, giorno02.txt, etc. */ 
if (!$p_file = fopen("giorno".$giornoDelMese.".txt","r")) {
   echo "Spiacente, non posso aprire il file giorno".$giornoDelMese.".txt";
} else {
    while(!feof($p_file)){
        $linea = fgets($p_file, 255);
    echo "$linea";
    }
    fclose($p_file);
}
?> 

OPPURE

<?php
//file principale.php
$giornoDelMese=date("d"); 
switch($giornoDelMese){
    case "01":
    echo "Frase del giorno 01";
    break;
    
    ....
    ....
    
    case "31":
    echo "Frase del giorno 02";
    break;
    
}
?>

OPPURE

Potresti fare così, anche se non è molto elegante:
File di testo giorni.txt

code:

01: Testo del giorno 1
....
31: Testo del giorno 31

File principale.php

<?php 
$giornoDelMese=date("d");
/* Quindi devi creare un file che contenga il testo del giorno, per ogni giorno del mese */ 
/* Es. giorno01.php, giorno02.php, etc. */ 
//include("giorno".$giornoDelMese.".php");
if (!$p_file = fopen("giorni.txt","r")) {
    echo "Spiacente, non posso aprire il file giorni.txt";
    
} else {
    while(!feof($p_file)){
    
        $linea = fgets($p_file, 255);
        
        $giorno = substr($linea,0,2);
                
        if($giorno==$giornoDelMese){
            echo "$linea";
        } else {}
    }
    
    fclose($p_file);
}

?> 

L'unico vincolo è che nel file di testo la frase del giorno sia su di un'unica riga

ANCORA
Non è contemplata la possibilità di cancellazione perchè altrimenti poi gli id supererebbero il valore di 31 e non funzionerebbe più.
// Dump database
create database miefrasi;
use miefrasi;
CREATE TABLE `frasi` (
`idfrase` smallint(3) unsigned NOT NULL auto_increment,
`frase` varchar(255) NOT NULL default '',
PRIMARY KEY (`idfrase`)
) TYPE=MyISAM;
----------------------------------------------------------
1) inseriscifrase.php
<div align="center">PAGINA DI INSERIMENTO FRASI</div>
<form name="frasegiornaliera" action="elaborafrase.php" method="post">
Inserisci frase: <textarea name="frase" rows="3" cols="100"></textarea>
<input type="submit" value="Invia">
</form>
<br>
<div align="center"><a href="visualizzafrasi.php">Torna alla pagina di visualizzazione delle frasi</a></div>
2)elaborafrase.php

<?php
// Questa funzione l'ho messa in due pagine per non scrivere un altro file
// tu puoi metterla in un file a parte e poi fare un include. E' di certo meglio.
function eliminaApici($conv)
 {
 $conv = str_replace("'","`", $conv);
 return $conv;
 }
?>

<?php
$frase =  strip_tags(trim(eliminaApici($_POST['fra
se'])));
$conn = mysql_connect("localhost","root");
mysql_select_db("miefrasi");
$query = "INSERT into frasi (frase) values ('$frase') ";
mysql_query($query) or die (mysql_error());

$righe = mysql_affected_rows();
if ($righe > 0)
  echo "Inserimento effettuato con successo";
else
  echo "La frase non è stata inserita"; 

?>

<br>
<div align="center"><a href="inseriscifrase.php">Torna alla pagina di inserimento</a></div>
<br>
<div align="center"><a href="visualizzafrasi.php">Vai alla pagina di visualizzazione frasi</a></div>

3) modificafrase.php

<?php
$idfrase = $_REQUEST['idfrase'];
if ($idfrase)
{
$conn = mysql_connect("localhost","root");
mysql_select_db("miefrasi");
$query = mysql_query("select frase from frasi where idfrase = '$idfrase' ");
$frase = mysql_result($query,0,'frase');
?>

<form name="frasegiornaliera" action="elaboramodifichefrase.php" method="post">
Inserisci frase: <textarea name="frase" rows="3" cols="100"><?php echo $frase ?> </textarea>
<input type="hidden" name="idfrase" value=" <?php echo $idfrase ?>" >
<input type="submit" value="Invia">
</form>
<?php
}
?>
4) elaboramodifichefrase.php

<?php
function eliminaApici($conv)
 {
 $conv = str_replace("'","`", $conv);
 return $conv;
 }
?>

PHP:

<?php
$frase =  strip_tags(trim(eliminaApici($_POST['fra
se'])));
$idfrase = $_POST['idfrase'];
$conn = mysql_connect("localhost","root");
mysql_select_db("miefrasi");
$query = mysql_query("update frasi set frase = '$frase' where idfrase = '$idfrase' ");
$num = mysql_affected_rows();
if ($num > 0)
 echo "La frase è stata modificata";
else
 echo "La frase non è stata modificata"; 
?>

<br>
<div align="center"><a href="visualizzafrasi.php">Torna alla pagina di visualizzazione delle frasi</a></div>
5) visualizzafrasi.php
<div align="center">ELENCO FRASI PRESENTI NEL DATABASE</div>

<?php
$conn = mysql_connect("localhost","root");
mysql_select_db("miefrasi");
$query = mysql_query("select * from frasi order by idfrase");
$righe = mysql_num_rows($query);
if ($righe == 0)
  echo "Nessuna frase presente";
else
{  
echo "<table align=\"center\" border=\"1\">";
while ($results = mysql_fetch_array($query))
{
    echo "<tr>";
    echo "<td>$results[idfrase]</td>";
    echo "<td>$results[frase]</td>";
    $idfrase = $results[idfrase];
    echo "<td><a href=\"modificafrase.php?idfrase=$idfrase\">Modifica</a></td>";
    echo "<tr>";
}
echo "</table>";
}
?>

<div align="center"><a href="inseriscifrase.php">Torna alla pagina di inserimento</a></div>
6) frasegiornaliera.php

// E' lo script che ti avevo già postato e che esegue ciò che vuoi.
Gli altri 5 file servono per avere un pannello (spartanissimo) da cui inserire e modificare le frasi
<?php 
$conn = mysql_connect("localhost","root");  
mysql_select_db("miefrasi"); 

// Infine con una semplice query avrai ogni giorno una frase diversa
$query = mysql_query("select frase from frasi where idfrase = dayofmonth(now())"); 
$frase = mysql_result($query,0,frase); 
echo $frase; 
?> 

Tieni conto inoltre che per il nome del db, dell'host etc è meglio inserirli in un file a parte che poi includi nei singoli file così in un colpo solo puoi modificarli secondo le tue esigenze.

<?php

$frase[1] = "Frase 1";
$frase[2] = "Frase 2";
$frase[3] = "Frase 3";
$frase[4] = "Frase 4";
$frase[5] = "Frase 5";
$frase[6] = "Frase 6";
$frase[7] = "Frase 7";
$frase[8] = "Frase 8";
$frase[9] = "Frase 9";
$frase[10] = "Frase 10";
$frase[11] = "Frase 11";
$frase[12] = "Frase 12";
$frase[13] = "Frase 13";
$frase[14] = "Frase 14";
$frase[15] = "Frase 15";
$frase[16] = "Frase 16";
$frase[17] = "Frase 17";
$frase[18] = "Frase 18";
$frase[19] = "Frase 19";
$frase[20] = "Frase 20";
$frase[21] = "Frase 21";
$frase[22] = "Frase 22";
$frase[23] = "Frase 23";
$frase[24] = "Frase 24";
$frase[25] = "Frase 25";
$frase[26] = "Frase 26";
$frase[27] = "Frase 27";
$frase[28] = "Frase 28";
$frase[29] = "Frase 29";
$frase[30] = "Frase 30";
$frase[31] = "Frase 31";
$oggi = date("j");
foreach($frase as $arr => $value)
{
    echo $oggi == $arr ? $value : '';
}
?>

<?php
$frase[1] = "Frase 1";
$frase[2] = "Frase 2";
$frase[3] = "Frase 3";
$frase[4] = "Frase 4";
$frase[5] = "Frase 5";
$frase[6] = "Frase 6";
$frase[7] = "Frase 7";
$frase[8] = "Frase 8";
$frase[9] = "Frase 9";
$frase[10] = "Frase 10";
$frase[11] = "Frase 11";
$frase[12] = "Frase 12";
$frase[13] = "Frase 13";
$frase[14] = "Frase 14";
$frase[15] = "Frase 15";
$frase[16] = "Frase 16";
$frase[17] = "Frase 17";
$frase[18] = "Frase 18";
$frase[19] = "Frase 19";
$frase[20] = "Frase 20";
$frase[21] = "Frase 21";
$frase[22] = "Frase 22";
$frase[23] = "Frase 23";
$frase[24] = "Frase 24";
$frase[25] = "Frase 25";
$frase[26] = "Frase 26";
$frase[27] = "Frase 27";
$frase[28] = "Frase 28";
$frase[29] = "Frase 29";
$frase[30] = "Frase 30";
$frase[31] = "Frase 31";
$oggi = date("j");
echo $frase[$oggi];
?>