Salve,

Vi posto il mio codice che prende due stringe da un form, li memorizza in un db scrive il contenuto del db.

codice:
<?php

include ('configurazione.php'); //per l'accesso al db

function scrivi(){?>

  <table border="1">

  <?php

    $sql = 'select * from tabella_form order by data desc,time desc';

    $res = mysql_query($sql);

    while($row = mysql_fetch_array($res)){

    ?>

      <tr>

        <td><?php print $row["id"]; ?></td>

        <td><?php print $row["titolo"]; ?></td>

      </tr>

    <?php

    }

    mysql_free_result($res);

  ?>

  </table>

<?php

}

?>

<body>

    <form action='' method='POST'>

      Titolo:


      <textarea name='titolo'></textarea>


      Testo


      <textarea name='testo'></textarea>


      <input type='submit' value='Invia' name="invia">


    </form>

    <?php scrivi(); ?>

</body>

<?php

  if (isset($_POST["invia"])) {

    $titolo = mysql_escape_string($_POST['titolo']);

    $testo = mysql_escape_string($_POST['testo']);

    if ( $titolo == TRUE && $testo == TRUE )  {

      $data=date("y-m-d");

      $time=date("H:i:s");

      mysql_query("INSERT INTO tabella_form (id , titolo , testo, data, time) VALUES ('','$titolo', '$testo','$data','$time')") OR DIE(mysql_error());

      //scrivi();

    } else {

      echo "Tutti i campi sono obbligatori!!";

    }

}

?>


Il problema è che quando l'utente riempe i campi ed invia i dati questi vengono memorizzati ma non vengono visualizzati all'instante. Cose che non so come fare. Mi potete dar qualche consiglio?

Ed un altra cosa: dopo aver inviato, se l'utente aggiorna per visualizzare il messaggio appare la richiesta di ri-inviare i moduli e se l'utente accetta i dati vengono inviati una seconda volta. Come posso rimediare anche a questo pasticcio?



Grazie in anticipo.