Sto inserendo un box commenti sul mio sito, commenti che puo' lasciare qualsiasi utente senza essere per forza loggato sul mio sito, su facebook o altro. I commenti lasciati non vengono pubblicati ma salvati su un database (meglio ancora se arrivassero ad un indirizzo di posta).
Ho trovato una sintassi per i form e l'ho adattata alle mie esigenze:
ho cominciato facendo un file data.txt inserito nella cartella public (essendo server windows) e ho preso la la mia pagina "scrivimi.php" dove appunto deve comparire il box commenti.
Ho inserito il seguente codice:
Codice PHP:
table> <tr> <td>
Commenta
</td> </tr> <tr> <td> <form action="controllo.php" method="post"> <h3>Inserisci il tuo nome:</h3> <input type="text" id="utente" name="utente" /> <h3>Inserisci la tua e-mail: </h3> <input type="text" id="email" name="email" /> <h3>Inserisci il messaggio:</h3>
<textarea name="messaggio" rows="10" cols="60"></textarea>
<input type="submit" value="invia"> <input type="reset" valur="Cancella"> </form> </td> </tr> <?php include ("../public/data.txt"); ?> </table>
Ho fatto poi la pagina dove si verrà reindirizzati a fine commento chiamata "controllo.php"
Codice PHP:
<?php $utente=$_POST['utente']; $messaggio=$_POST['messaggio']; $email=$_POST['email']; $data_ora = date("d/m/Y H:i:s"); $db_testo="../public/data.txt"; if($utente==""){ echo '<h4>Inserisci il nome
Torna indietro (scrivimi.php)</h4>'; }elseif($messaggio==""){ echo '<h4>Inserisci il tuo messaggio
Torna indietro (scrivimi.php)</h4>'; }elseif($email==""){ echo '<h4>Inserisci un indirizzo e-mail
Torna indietro (scrivimi.php)</h4>'; }elseif (!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $email)){ echo '<h4> indirizzo email non valido,
Torna indietro (scrivimi.php)</h4>'; }else{ $guestbook = fopen($db_testo, "a"); $txt='<tr><td>
'.$utente.' ('.$email.')
'; $txt .= "<h4>". $messaggio . "</h3>"; $txt .= "<h4>Messaggio scritto in data: " . $data_ora . "</h4>
</td></tr>"; fwrite($guestbook, $txt); fclose($guestbook); echo '
<h3> GRAZIE PER AVERE LASCIATO IL MESSAGGIO! Torna indietro (scrivimi.php) </h3>'; } ?>
Sulla pagina scrivimi.php compare correttamente il box con i campi da compilare, avviene la verifica che sia stato compilato l'indirizzo di posta elettronica e poi, cliccando su invia, mi reidirizza sulla pagina di ringraziamento.
Ora i problemi sono 2:
- non riesco a far comparire la scritta GRAZIE PER AVERE LASCIATO IL MESSAGGIO! o qualsiasi altra scritta;
- NON si salva il messaggio....
Cosa posso aver sbagliato?
grazie per eventuali aiuti e suggerimenti