Visualizzazione risultati 1 fino 23 di 23

Discussione: Ordinare tabella con ASC

  1. #1
    Guest

    Predefinito Ordinare tabella con ASC

    Con questo codice stampa a video in ordine crescente dall'alto verso il basso, però quando si invia il form poi a video non mostra l'ultimo post, per visualizzarlo bisogna aggiornare la pagina manualmente

    $numero=3;
    Codice PHP:
    $q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";
    $ris=mysql_query($q);
    ...

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Non dipende da quelle due righe, ma dal resto codice gli che sta attorno.

    Possibili problemi che mi vengono in mente:
    • un ciclo con la condizione sbagliata, si ferma prima dell'ultimo elemento
    • esegui l'inserzione nel punto sbagliato, quindi quando elenchi le righe quella nuova non è ancora nel database

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Non dipende da quelle due righe, ma dal resto codice gli che sta attorno.

    Possibili problemi che mi vengono in mente:
    • un ciclo con la condizione sbagliata, si ferma prima dell'ultimo elemento
    • esegui l'inserzione nel punto sbagliato, quindi quando elenchi le righe quella nuova non è ancora nel database
    Mah..se invece metto DESC funziona perfettamente, se ci fosse un errore si manifesterebbe anche così

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    No, non necessariamente, perché hai anche un LIMIT che potrebbe tagliare fuori il nuovo elemento.

    Punto importante: dato che probabilisticamente l'errore non è in php o in mysql, allora è nel tuo codice. Va solo trovato.

    Due domande:
    1. il numero di elementi mostrati nella pagina è uguale al LIMIT che setti, o inferiore?

    2. ci sono messaggi di errore dal php? Controlla anche aggiungendo in cima allo script
      Codice PHP:
      error_reporting(E_ALL);

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    No, non necessariamente, perché hai anche un LIMIT che potrebbe tagliare fuori il nuovo elemento.

    Punto importante: dato che probabilisticamente l'errore non è in php o in mysql, allora è nel tuo codice. Va solo trovato.

    Due domande:
    1. il numero di elementi mostrati nella pagina è uguale al LIMIT che setti, o inferiore?

    2. ci sono messaggi di errore dal php? Controlla anche aggiungendo in cima allo script
      Codice PHP:
      error_reporting(E_ALL);
    Non da errori, il numero di post è uguale al settario, però non carica a video l'ultimo inviato tramite form, lo mostra dopo che ho aggiornato manualmente la pagina

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Lo inserisci nel database prima della query di ricerca? C'è una redirezione di mezzo?

    E' un po difficile aiutarti senza vedere il resto del codice

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Lo inserisci nel database prima della query di ricerca? C'è una redirezione di mezzo?

    E' un po difficile aiutarti senza vedere il resto del codice
    Non ho messo qualche parentesi graffa per comodità
    Codice PHP:
    $numero=3; // Limite max successi da visualizzare
    // Legge tutti i records nella tabella successi dall'alto verso il basso e li estrae in ordine crescente
    $q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";
    // Lancio la query
    $ris=mysql_query($q);

    if(
    mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
    // Leggo un record alla volta e lo stampo
    while($riga=mysql_fetch_array($ris)) {

    //BOX DIV DOVE STAMPA I POST

    ...

    $q="INSERT INTO successi(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
    VALUES('
    $data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')";
    // Lancio la query
    $ris=mysql_query($q);

    // Controllo l'esito
    if (!$ris) {
    die(
    "Errore nella query $query: " . mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close($connessione);

    //FORM

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Te l'ho scritto due volte:

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    esegui l'inserzione nel punto sbagliato, quindi quando elenchi le righe quella nuova non è ancora nel database
    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Lo inserisci nel database prima della query di ricerca?
    Ultima modifica di dreadnaut : 03-12-2012 alle ore 00.18.44

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Te l'ho scritto due volte:
    Ho provato a spostare l'inserimento nella tabella in tutti i punti, sopra, sotto, in mezzo al codice, ma non funge,

  10. #10
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Prima, se necessario, inserisci la nuova riga nella tabella. Poi esegui la query che elenca il contenuto della tabella, e poi visualizzi le righe restituite. Riprova con la giusta quantità di Ctrl-F5 per svuotare la cache.

    Se ancora non funziona, posta il codice intero.

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Prima, se necessario, inserisci la nuova riga nella tabella. Poi esegui la query che elenca il contenuto della tabella, e poi visualizzi le righe restituite. Riprova con la giusta quantità di Ctrl-F5 per svuotare la cache.

    Se ancora non funziona, posta il codice intero.
    Nel post #7 c'è la sequenza, mancano i controlli , invio mail ma non so se interessano

  12. #12
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Nel post #7 c'è la sequenza sbagliata, e se c'è un errore nel codice che nascondi, non lo troveremo di certo per telepatia

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Nel post #7 c'è la sequenza sbagliata, e se c'è un errore nel codice che nascondi, non lo troveremo di certo per telepatia
    Ti posto tutto

    Codice PHP:
    <?php
    session_start
    ();
    //Richiama i parametri di connessione al db
    require_once "connessione.php";
    ?>
    <!DOCTYPE html>
    <html>

    <head>

    <title>Successi</title>

    //META TAG

    <script type="text/javascript" src="script.js"></script>
    <script type="text/javascript" src="jquery.js"></script>
    <link rel="stylesheet" type="text/css" media="screen" href="style.css" />
    <!-- ----------------------------------- -->
    <!-- INIZIO script pag. successi -->

    </head>

    <body onload="data(); startTime()">

    <!--Mette opacity-->
    <div id="shade"></div>

    <div id="container">
    <br />
    <div id="header">

    <h1>Alberti.Gruppo ALVEO</h1>

    <h2>...migliora il tuo benessere con la Forza della Natura</h2>

    </div><!--header-->

    <noscript>
    <p id="noJS">Per visualizzare correttamente la pagina devi abilitare i Java Script.</p>
    </noscript>

    <div id="DateTime">
    <span id="data"></span><span id="ora"></span>
    </div>

    //MENU ORIZZONTALE


    <!--COLONNA SX-->

    <!-- FINE COLONNA SX-->

    <div id="cent">

    <div class="paroleCent">

    <?php
    $numero
    =3; // Limite max successi da visualizzare
    // Legge tutti i records nella tabella successi dall'alto verso il basso e li estrae in ordine crescente
    $q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";
    // Lancio la query
    $ris=mysql_query($q);

    if(
    mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
    // Leggo un record alla volta e lo stampo
    while($riga=mysql_fetch_array($ris)) {
    //verifico se conteggio è pari o dispari e in alternato cambio il colore
    if($conteggio%2==0) {
    $sfondo="#f7f7f7";
    }
    else {
    $sfondo="#f0f0f0";
    }
    //applico il colore di sfondo
    echo "<div class=\"stampaS\" style=\"background-color: $sfondo \">";
    echo
    "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."<div class=\"idSuccessiSX\"></div><div class=\"idSuccessiDX\">#".$riga['id']."</div></div>";
    echo
    "<div class=\"campiAltiS\">";
    echo
    "<div class=\"oggettoBox\">".$riga['oggettoS']."</div>";
    echo
    "</div>"; // campiAltiS
    echo "<div class=\"messaggioBox\">".$riga['messaggioS']."</div>";
    echo
    "<div class=\"bassoS\"></div>"; // bassoS
    echo "<div class=\"nomeBox\">".$riga['nomeS'].",</div>";
    if(!empty(
    $riga['cittaS'])) { // Se il campo è vuoto non stampa neanche la virgola
    echo "<div class=\"cittaBox\">".$riga['cittaS'].",</div>";
    }
    if(!empty(
    $riga['suoemailS'])) { // Se il campo è vuoto non stampa neanche il trattino
    echo "<div class=\"mailBox\">".$riga['suoemailS']."&nbsp;&nbsp;-&nbsp;&nbsp;</div>";
    }
    echo
    "<div class=\"ipBox\">Ip: $ip</div>";
    echo
    "<div class=\"bandierinaBox\">$bandierina<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";
    echo
    "</div>";//stampaS
    $conteggio ++; // a ogni giro incremento di uno
    }
    //*********Inizio trasferimento nella tabella archivio
    //Leggiamo tra i post estratti il valore max dell'id
    $ris=mysql_query("SELECT MAX(id) as massimo FROM successi ORDER BY id DESC");
    // Lancio la query
    $riga=mysql_fetch_array($ris);
    $vecchi_id=$riga['massimo']-$numero;
    if(
    $vecchi_id > 0){
    //verifico che ci siano record precedenti
    $ris=mysql_query("SELECT * FROM successi WHERE id <= $vecchi_id");
    if(
    mysql_num_rows($ris)>0) { //se maggiore di 0 ci sono records
    //echo "trasferisco da $vecchi_id<br>";
    while($riga=mysql_fetch_array($ris)) {
    //estraggo tutti i dati del successo col valore minimo id dalla tabella successi...
    $id=$riga['id'];
    $data_localeS=$riga['data_localeS'];
    //$data_localeS=crea_data($riga['data_localeS']);
    $oggettoS=$riga['oggettoS'];
    $messaggioS=$riga['messaggioS'];
    $nomeS=$riga['nomeS'];
    $cittaS=$riga['cittaS'];
    $suoemailS=$riga['suoemailS'];
    $ip;
    $bandierina;
    //...e salvo il successo nella tabella archivio, l'insert è uguale a quello che che c'è nella tabella successi
    $ris_a=mysql_query("INSERT INTO archivio(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
    VALUES('
    $data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')");
    //avendo salvato in tabella archivio posso eliminarlo dalla tabella successi
    $ris_d=mysql_query("DELETE FROM successi WHERE id=$id");
    }
    }
    }
    }
    //********fine del trasferimento
    else {
    echo
    "<p style=\"margin-left:30px;font-size:18px;color:#0000ff;\">Non ci sono ancora Successi, volevi scriverne uno?</p>";
    }

    function
    crea_data($t){
    $giorno=array('domenica','luned&igrave;','marted&igrave;','mercoled&igrave;','gioved&igrave;','venerd&igrave;','sabato');
    $mese=array('','gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');
    $gg=date('w',$t);
    $mm=date('n',$t);
    return
    $giorno[$gg]." ".date('d',$t)." ".$mese[$mm]." ".date("Y H:i:s \G\M\T P (T)", $t);
    }

    if(isset(
    $_POST['invia'])) {
    $data_localeS = time();
    $nomeS = htmlspecialchars(ucwords(strtolower(trim($_POST['nomeS']))));
    $cittaS = htmlspecialchars(ucwords(strtolower(trim($_POST['cittaS']))));
    $suoemailS = htmlspecialchars(strtolower($_POST['suoemailS']));
    $suoemailS = str_replace(" ","",$suoemailS); // Toglie gli spazi interni nella mail
    $oggettoS = htmlspecialchars(ucfirst(trim($_POST['oggettoS'])));
    $messaggioS = htmlspecialchars(ucfirst(trim($_POST['messaggioS'])));
    $validatorS = htmlspecialchars(trim($_POST['validatorS']));

    $messaggioS = nl2br($messaggioS);

    $oggettoS = str_ireplace("alveo","ALVEO",$oggettoS);
    $messaggioS = str_ireplace("alveo","ALVEO",$messaggioS);

    //Campo obbligatorio, min 1 carattere
    // anche se inserito un solo 0 (zero) viene riconosciuto come carattere
    if((isset($_POST['invia']) || !empty($_POST['invia']))){ // Fa stampare a video gli alert dei campi obbligatori SOLO dopo l'invio errato
    if ($nomeS == "") {
    $erroreS .= "<span class=\"puntoS\">&bull;&nbsp;&nbsp;Inserire il Nome</span><br /><br />";
    }
    else {
    $nomeS;
    }
    }
    //Valida Mail (Campo non obbligatorio)
    if ($suoemailS) {
    if (!
    preg_match("/^([A-Za-z0-9!#$%&'*+\/=?^_~`{|}](([A-Za-z0-9!#$%&'*+\/=?^_~`{|}]*[.]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+))*([-]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+)?(([A-Za-z0-9!#$%&'*+\/=?^_~`{|}]*[.]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+))*@(.*)(\.[a-z]{2,6}))$/",$suoemailS)) {
    $erroreS .= "<span class=\"puntoS\">&bull;&nbsp;&nbsp;Inserire una Mail valida</span><br /><br />";
    }
    }
    else {
    $suoemailS;
    }
    //Campo obbligatorio, min 1 carattere
    // anche se inserito un solo 0 (zero) viene riconosciuto come carattere
    if((isset($_POST['invia']) || !empty($_POST['invia']))){ // Fa stampare a video gli alert dei campi obbligatori SOLO dopo l'invio errato
    if ($oggettoS == "") {
    $erroreS .= "<span class=\"puntoS\">&bull;&nbsp;&nbsp;Inserire l'Oggetto</span><br /><br />";
    }
    else {
    $oggettoS;
    }
    }
    //Campo obbligatorio
    if((isset($_POST['invia']) || !empty($_POST['invia']))){
    if(
    $messaggioS == "") {
    $erroreS .= "<span class=\"puntoS\">&bull;&nbsp;&nbsp;Inserire il Messaggio</span><br /><br />";
    }
    else {
    $messaggioS;
    }
    }
    //Campo obbligatorio
    if((isset($_POST['invia']) || !empty($_POST['invia']))){
    if (
    $validatorS == "") {
    $erroreS .= "<span class=\"puntoS\">&bull;&nbsp;&nbsp;Inserire il Codice</span><br /><br />";
    }
    else {
    $validatorS;
    }
    }
    //Controlla che il codice Captcha inserito corrisponda a quello che appare nell'immagine
    if((isset($_POST['invia']) || !empty($_POST['invia']))){
    if (
    $_SESSION['rand_code'] != strtolower(trim($_POST['validatorS']))) {
    $erroreS .= "<span class=\"puntoS\">&bull; &nbsp;&nbsp;Codice errato!</span><br /><br />";
    }
    else {
    $validatorS;
    }
    }
    if(
    $erroreS==""){
    //Scrive i dati all'interno della tabella del db
    //INSER INTO contiene il nome dei records, dall'alto verso il basso, che ci sono nella tabella del db
    //VALUES inserisce nella tabella del db i valori scritti nei campi del form, vanno scritti nello stesso ordine di INSERT INTO
    $q="INSERT INTO successi(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
    VALUES('
    $data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')";
    // Lancio la query
    $ris=mysql_query($q);

    // Controllo l'esito
    if (!$ris) {
    die(
    "Errore nella query $query: " . mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close($connessione);

    session_destroy();
    echo
    "Invio corretto">';


    }
    else {
    echo "Errore">'
    ;
    }
    }
    else {
    ?>

    <div id="containerForm">

    <!-- INIZIO FORM--><a name="segnalibro"></a> <!--Segnalibro-->

    <!-- FINE FORM-->
    </div><!-- containerForm -->
    <?php
    }
    ?>



    </div><!-- paroleCent -->
    </div><!-- cent -->

    <!--COLONNA DX-->

    <!--FINE COLONNA DV -->

    </div> <!-- container -->


    </body>
    </html>

  14. #14
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    E se sposti il codice che effettua i controlli e l'inserimento nel db prima di quello che li elenca nella pagina, cosa ottieni?

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    E se sposti il codice che effettua i controlli e l'inserimento nel db prima di quello che li elenca nella pagina, cosa ottieni?
    Se metto così, ogni volta che aggiorno manualmente la pagina, si stampa un nuovo box con un nuovo id

    Codice PHP:
    //Scrive i dati all'interno della tabella del db
    //INSER INTO contiene il nome dei records, dall'alto verso il basso, che ci sono nella tabella del db
    //VALUES inserisce nella tabella del db i valori scritti nei campi del form, vanno scritti nello stesso ordine di INSERT INTO
    $q="INSERT INTO successi(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
    VALUES('
    $data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')";
    // Lancio la query
    $ris=mysql_query($q);

    // Controllo l'esito
    if (!$ris) {
    die(
    "Errore nella query $query: " . mysql_error());
    }


    $numero=3; // Limite max successi da visualizzare
    // Legge tutti i records nella tabella successi dall'alto verso il basso e li estrae in ordine crescente
    $q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";
    // Lancio la query
    $ris=mysql_query($q);

    if(
    mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
    // Leggo un record alla volta e lo stampo
    while($riga=mysql_fetch_array($ris)) {
    //verifico se conteggio è pari o dispari e in alternato cambio il colore
    if($conteggio%2==0) {

    ...

  16. #16
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Ma devi comunque effettuare tutti i controlli sui parametri, prima di eseguire la query. Non puoi buttarla li e sperar che vada. Mi sembra sia tutto il pezzo da
    Codice PHP:
    if(isset($_POST['invia'])) {
    a
    Codice PHP:
    // Controllo l'esito
    if (!$ris) {
    die(
    "Errore nella query $query: " . mysql_error());
    }

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Ma devi comunque effettuare tutti i controlli sui parametri, prima di eseguire la query. Non puoi buttarla li e sperar che vada. Mi sembra sia tutto il pezzo da
    Codice PHP:
    if(isset($_POST['invia'])) {
    a
    Codice PHP:
    // Controllo l'esito
    if (!$ris) {
    die(
    "Errore nella query $query: " . mysql_error());
    }
    Difatti il codice originale è così

    Codice PHP:
    ...

    //QUI CI SONO I CONTROLLI

    if($erroreS==""){
    //Scrive i dati all'interno della tabella del db
    //INSER INTO contiene il nome dei records, dall'alto verso il basso, che ci sono nella tabella del db
    //VALUES inserisce nella tabella del db i valori scritti nei campi del form, vanno scritti nello stesso ordine di INSERT INTO
    $q="INSERT INTO successi(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
    VALUES('
    $data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')";
    // Lancio la query
    $ris=mysql_query($q);

    // Controllo l'esito
    if (!$ris) {
    die(
    "Errore nella query $query: " . mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close($connessione);

  18. #18
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Si, concordo. Tutto quel pezzo andrebbe in alto, inclusi i controlli, ed eviterebbe l'apparire di un nuovo messaggio "vuoto".

  19. #19
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Si, concordo. Tutto quel pezzo andrebbe in alto, inclusi i controlli, ed eviterebbe l'apparire di un nuovo messaggio "vuoto".
    Perciò se ho ben capito non ci sono errori

  20. #20
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Il codice è un po' strano (perché spostare roba da una tabella ad un'altra?) ma così ad occhio è corretto. Siccome esegui l'inserimento dopo l'elenco dei post, quello appena inviato non appare finché non ricarichi la pagina.

    Se sposti l'inserimento, con tutti i suoi controlli, prima dell'elenco, dovrebbe andare.

  21. #21
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Il codice è un po' strano (perché spostare roba da una tabella ad un'altra?) ma così ad occhio è corretto. Siccome esegui l'inserimento dopo l'elenco dei post, quello appena inviato non appare finché non ricarichi la pagina.

    Se sposti l'inserimento, con tutti i suoi controlli, prima dell'elenco, dovrebbe andare.
    Invertendo la sequenza come dici tu è peggio perché mostra a video i post solo quel secondo di tempo necessario per nviare i dati, ma poi non si stampano a video

  22. #22
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Quindi li mostra, e poi li cancella?

  23. #23
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Quindi li mostra, e poi li cancella?
    Si, esatto

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •