Realizzare un semplice “muro” dei messaggi in PHP senza database

PHP
PHP

Grazie alla flessibilità del linguaggio di programmazione orientato al web PHP e alle relative API è possibile realizzare un semplice “muro” dei messaggi.

L’idea di base è quella di costruire una bacheca che ricalca le forme di un guestbook snello ma allo stesso tempo efficace e coinvolgente, in modo tale da invogliare gli utenti del web a lasciare una traccia della visita sulla vostra home page.

Per la memorizzazione dei messaggi non si deve necessariamente ricorrere ad un database: quest’ultimo può essere approssimativamente “emulato” da un semplice e piuttosto classico file di testo, soluzione che certamente è discutibile dal punto di vista della sicurezza, poiché non viene garantita la salvaguardia della confidenzialità del contenuto, ma.. sono certo che i vostri visitatori non impazziranno dalla voglia di lasciarvi sulla bacheca il loro numero di carta di credito o importanti credenziali di accesso di posta elettronica, social network, ecc.

Userò a titolo di riferimento la bacheca dei messaggi che ho progettato per il sito web della Radio del corridoio.noteinternational.com: Radio Criluge Net

La piccola bacheca è composta da tre file: guest.php, index.php ed infine il file di testo contenente i messaggi che verrà creato a runtime alla prima scrittura del primo messaggio.

“guest.php” si occuperà del salvataggio del contenuto del messaggio su file:

[sourcecode language=”php”] ‘.$user.’

‘;
$txt .= $msg . “
“;
$txt .= “Data: ” . $datatime . “

“;

//eseguo la scrittura del file e quindi l’aggiornamento.
fwrite($guestbook, $txt);

//chiusura del file
fclose($guestbook);

//Redirect alla pagina della messaggeria
header(“location: http://www.criluge.net/radio/”);
[/sourcecode]

Il file “index.php” avrà il compito di ospitare il form per l’inserimento del messaggio e lo spazio per la visualizzazione dei messaggi già inseriti:

[sourcecode language=”php”]

Muro dei Messaggi

Nome:

Email:

Messaggio:



” contenuto nel file di testo è presente l’ultimo messaggio, calcolo quindi la posizione di inizio dell’ultimo messaggio
$pos=strrpos($content,”“);
//determino una sottostringa rispetto quella contenente tutti i messaggi, che contiene solo l’ultimo
$text = substr($content, $pos, $len-$pos);
//aggiorno la stringa contenente tutti i messaggi rimuovendo l’ultimo
$content = substr($content, 0, $pos);
//stampo l’ultimo messaggio
echo $text;
}
?>


[/sourcecode]

Buon divertimento con la vostra nuova wall dei messaggi!