-
Memorizzazione dati PHP
Salve, sono riuscito, grazie ad una guida sul forum, a memorizzare i dati inviati da un form in una pagina HTML. Colo che ora mi si presenta un problema.
Il codice è questo:
Codice PHP:
<?php
echo "$_POST[nome_utente]";
echo "$_POST[messaggio]";
$fp = fopen("dati_messaggi_form.html","a+"); //File HTML dove ci sono i file salvati
if(fwrite($fp, "<hr>" . date("m - d - Y G : i") . "<strong> {$_POST[nome_utente]}</strong> scrive: {$_POST[messaggio]}<hr>")){
echo "<script>alert('Messaggio inviato correttamente!'); window.location = 'http://pikachu96.altervista.org/provephp.php';</script>";
}else{
echo "<script>alert('Messaggio non inviato correttamente!'); window.location ='http://pikachu96.altervista.org/provephp.php';</script>";
}
fclose($fp); //Chiusura file
?>
Funziona alla perfezione, solo che vorrei che, i messaggi più recenti, venissero salvati in cima a quelli più vecchi, senza però sovrascriverli. Ho provato a modificare a+ con x+ ma niente, me li sovrascrive D:
-
Effettua un backup del file e poi cambia a+ con r+.
-
Non funziona D:
Piccolo EDIT: Se per esempio volessi fare che, dopo 20 messaggi memorizzati, gli altri vengano sovrascritti? Non so se mi spiego:
Invio 20 messaggi, questi vengono memorizzati con successo.
Invio il 21esimo messaggio, questo va a scalare l'ordine dei messaggi eliminando il 1°, invio il 22esimo e se ne va il 2° ecc...
-
Per queste altre tipo di cose è meglio interagire con un database e usare le "proprietà" LIMIT e ORDER BY