Originalmente inviato da
alemoppo
Come detto da dreadnaut, quel codice non fa nulla (da solo).
Esempio: dove inizializzi le variabili $messaggioS,$nomeS, $cittaS,$suoemailS?
$mess_da_ins contiene il / i
messaggi da inviare. Come li invii?
In ogni caso, invece di echo "file.php", per salvare i messaggi ti consiglio di farlo su un database. Se vuoi comunque utilizzare un file di testo, puoi usare la
file_put_contents().
Ciao!
Questo è il codice funzionante
Codice PHP:
<?php // ...1/6
session_start();
if (file_exists('messaggi.html')) {
$righe_mess = file('messaggi.html');//ritorna un array con le righe del file
$_SESSION['successi'] = count($righe_mess);//aggiungi questa riga
if (is_array($righe_mess)) {
?>
<? // ...2/6
foreach ($righe_mess as $num_riga => $testo_riga) {
$testi = explode("|",$testo_riga);
if ($testi[0] != "") {
echo "<div class=\"stampaS\">";
echo "<div class=\"dataBox\">$testi[0]</div><br />";
echo "<div class=\"campiAltiS\">";
echo "<div class=\"oggettoBox\">$testi[1]</div>";
echo "</div>"; // campiAltiS
echo "<div class=\"messaggioBox\">\"$testi[2]\"</div>";
echo "<div class=\"bassoS\"></div>"; // bassoS
echo "<div class=\"nomeBox\">$testi[3],</div>";
if (!empty($testi[4])) { // Se il campo è vuoto non stampa neanche la virgola
echo "<div class=\"cittaBox\">$testi[4],</div>";
}
if (!empty($testi[5])) { // Se il campo è vuoto non stampa neanche il trattino
echo "<div class=\"mailBox\">$testi[5] - </div>";
}
echo "<div class=\"ipBox\">Ip: $testi[6]</div>";
echo "<div class=\"bandierinaBox\">$testi[7]<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";
echo "</div>"; // stampaS
}
}
}
}
if (isset($_POST['invia'])) {
//Variabili con $_POST
//Controlli
// ...3/6 - In questa sequenza stampa in messaggi.html
$mess_da_ins = $data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";
$mess_ultimo = 2; //numero di messaggi massimo da visualizzare
// ...4/6
if ($erroreS == "") {
if (file_exists('messaggi.html')) {
$righe = file('messaggi.html');
$quante = count($righe);
if ($quante == 0) { //il file messaggi.html esiste ma è vuoto
$inserire = $mess_da_ins;
} elseif ($quante == 1) { //esiste una sola riga
$inserire = $righe[0] . $mess_da_ins;
} elseif ($quante > 1) {
if ($quante < $mess_ultimo) {
$righe[$quante] = $mess_da_ins;
} else {
//sposto in su i messaggi (in pratica elimino il più vecchio)...
for ($k = 0; $k < ($quante-1); $k++) {
$j = $k + 1;
$righe[$k] = $righe[$j];
}
$righe[$mess_ultimo] = $mess_da_ins; //...e aggiungo l'ultimo
}
foreach ($righe as $ch => $testo){ //preparo la stringa da salvare
$inserire .= $testo;
}
}
file_put_contents('messaggi.html', $inserire);
}
else {
file_put_contents('messaggi.html', $mess_da_ins);
}
session_destroy();
echo '<meta http-equiv="REFRESH" content="0; url=http://miosito.it/pagina.php">';
} // ...5/6
else {
echo "Errore";
}
}
else {
?>
//FORM
<?php // ...6/6
}
?>