Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    messaggi tra utenti via web: come nascondere l'email

    ciao,sto cercando di costruire un piccolo sistema di messaggi tra gli utenti registrati. ho creato un modulo con l'elenco degli utenti registrati alla comunity ma vorrei che, per motivi di riservatezza non fosse visibile l'email del destinatario (per ricevere una sorta di avviso che c'è un messaggio). Per adesso ho fatto questo (ho tagliato il javascript di controllo...):
    Codice PHP:
    if($azione=="invio")
    $msg "--------------------\nServizio di notifica ricezione messaggi\n--------------------\nCiao $destinatario_lms,\n$mittente ti ha inviato un messaggio sul sito. Per leggerlo collegati al sito nella sezione messaggi.\nNel caso in cui avessi smarrito la password chiedine una nuova per l'accesso immediato ai servizi del sito.\nInformazioni aggiuntive:
    Il messaggio ti è stato inviato il \t
    $data alle ore $orario\n\n";  

    // raccolta dati 

    $mailheaders "From: sito <> \n";
    $mailheaders .= "Reply-To: $mittente\n\n";

    mail("$destinatario_lms""sito: LMS di $mittente"$msg$mailheaders);

    echo 
    "$data ore $orario: il messaggio per [b]$destinatario_lms[/b] è stato correttamente inviato.


    <img src=\"img/quadrato_nero.gif\">Se [b]
    $destinatario_lms[/b] ha attivato opzione di notifica via email riceverà una comunicazione che
     lo avvertirà del tuo messaggio. Se così non fosse dovrai pazientare che si colleghi al sito e veda il tuo LMS.
    <p align=\"left\">Il dettaglio del messaggio che hai inviato è:</p>
    <p align=\"left\"><img src=\"img/freccia_grigia.gif\" alt=\"\"> nick deastinatario del LMS: [b]
    $destinatario_lms[/b]

    <img src=\"img/freccia_grigia.gif\" alt=\"\"> testo del LMS: [b]
    $lms[/b]

    <img src=\"img/freccia_grigia.gif\" alt=\"\"> mittente: [b]
    $mittente[/b]

    <img src=\"img/freccia_grigia.gif\" alt=\"\"> data e ora di invio: [b]
    $data ore $orario[/b]";
    }
    else
         { echo
    "<form name=prepareForm onsubmit=\"return validate()\" 
            action=\"
    $PHP_SELF?pagina=live message&azione=invio\" method=\"post\">
    <select style=\"width:145px;\" name=\"destinatario_lms\">
               <option>scegli il destinatario ----</option>
               <option></option>"

               
    $query "SELECT * FROM prova ORDER BY userid";
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result))

    { echo 
    "<option value=\"$row[email_address]\">$row[username]</option>";
    }
    echo
    "</select>
    <table width=\"340\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
      <tr>
        <td class=\"text\" valign=\"top\">testo del messaggio</td>
        <td><textarea style=\"WIDTH: 205px\" rows=3 name=lms onkeyup=\"charsCount(document.prepareForm.lms, 500)\" 
                onchange=\"charsCount(document.prepareForm.lms, 500)\"></textarea></td>
      </tr>
      <tr>
        <td class=\"text\" valign=\"top\">caratteri rimanenti</td>
        <td><INPUT size=\"5\" value=\"500\" name=\"lmsLength\"></td>
      </tr>
      <tr>
        <td colspan=\"2\">
        <input type=\"hidden\" name=\"data\" value=\""
    .  date("d.m.Y") ."\">
        </td>
      </tr>
       <tr>
        <td colspan=\"2\">
        <input type=\"hidden\" name=\"orario\" value=\""
    .  date("h:i:s") ."\">
        </td>
      </tr>
      <tr>
        <td colspan=\"2\">
        <input type=\"hidden\" name=\"mittente\" value=\""
    $_SESSION['username'] ."\">
        </td>
      </tr>
      <tr>
        <td colspan=\"2\" align=\"right\"><input type=\"image\" alt=\"Invia LMS\" name=\"Submit\" value=\"invia\" src=\"img/invia.gif\"></td>
      </tr>
    </table></form> 
    ma non so assolutamente come poter nascondere l'email. Fare il campo hidden è inutile...suggerimenti?

  2. #2
    hai provato a mettere in copia nascosta?mettendo cosi puoi non far vedere l'indirizzo.

  3. #3
    Originariamente inviato da lbottoni
    hai provato a mettere in copia nascosta?mettendo cosi puoi non far vedere l'indirizzo.
    no, non c'ho provato, però il problema è non renderlo visibile dal modulo web, non sulla mail di notifica

  4. #4
    spero di aver capito ...
    codice:
    <script type="text/javascript">
    function mailSender( who ) {
    	window.open( 'mailto:' + who.split('[--]').join('@'), '_self' );
    }
    </script>
    email
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    no...andr3a, scusami, mi sono spiegato male probabilmente. Provo a spiegare. Ho un menù a tendina con l'elenco dei nomi tipo così:
    Codice PHP:
    select style=\"width:145px;\" name=\"destinatario_lms\">
               <option>scegli il destinatario ----</option>
               <option></option>"

               
    $query "SELECT * FROM prova ORDER BY userid";
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result))

    { echo 
    "<option value=\"$row[email_address]\">$row[username]</option>";
    }
    echo
    "</select> 
    X far si che mi arrivi l'email di notifica devo riferire ad ogni username la propria email. Se però nel value di ogni option scrivo
    Codice PHP:
    value=\"$row[email_address]\" 
    mi compare l'indirizzo, come è logico sia. Vorrei trovare una maniera per nascondere questo riferimento username-email. Altrimenti chiunque prende le email degli tenti registrati...e spamma finche vuole. E non è bello...!

  6. #6
    Originariamente inviato da fabioandr@libero.it
    Vorrei trovare una maniera per nascondere questo riferimento username-email. Altrimenti chiunque prende le email degli tenti registrati...e spamma finche vuole. E non è bello...!
    ... sempre JavaScript, popoli un array e nella <select> non metti le emails ma gli indici di corrispondenza dell' array creato, array che non conterra' gli indirizzi in modo esteso ma che avra' :

    1 - un altro array con la seconda parte dell' indirizzo email corrispondente ( quindi ne creai 2, stessi indici, uno con il prima della @ e uno con il dopo della @ ) e li assembli insieme con la funzione di invio mail o con un alert che mostra l' indirizzo ( se vuoi che comunque siano accessibili )

    2 - una funzione simile a quella che ho gia' postato che ti permette di non avere sulla pagina direttamente la lista degli indirizzi ma delle stringhe 'fittizie' che poi andrai a modificare per inviare o mostrare la mail ...


    Io avrei fatto la prima, cosi' per un indice hai 2 array che contengono parti di indirizzo, sfido qualunque spyware a riorganizzare il tutto
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    mettiamo x esempio che al posto dell'indirizzo email ci metto che ne so l'id, come codifico id in email?
    magari lo so anche ma...ora non mi viene prorpio in mente come poter fare....

  8. #8
    allora, ho fatto in modo che anziche l'email, nel menù a tendia, ci sia il valore del corrispondente userid. Ora il problema è far si che l'userid di quel certo utente mi diventi l'email nella pagina di elaborazione-invio altrimenti non parte la mail di avviso. AIUTOOOO! :master:

  9. #9

    CI SONO RIUSCITO!!!!!

    Finalmente....ci sono riuscito a farlo.Non era proprio come volevo ma è pur sempre un bel lavoretto. Spero. Lo posto qui, se qualcuno ci da un occhio e trova qualche errore mi avvisi per cortesia.
    pagina 1: scrittura del messaggio:
    Codice PHP:
    <table width="328" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>destinatario
        <? include("config.inc.php");
        echo
    "<form
            action=\"salvalsm.php\" method=\"post\">
        <select style=\"width:145px;\" name=\"destinatario_lms\">
               <option>scegli il destinatario ----</option>
               <option></option>"

               
    $query "SELECT * FROM prova ORDER BY userid";
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result))

    { echo 
    "<option value=\"$row[username]\">$row[username]</option>";
    }
    echo
    "</select>";
    ?></td>
      </tr>
      <tr>
        <td>msg<textarea name="lms" cols="15" rows="5"></textarea></td>
      </tr>
      <? echo"<tr>
        <td colspan=\"2\">
        <input type=\"hidden\" name=\"data\" value=\""
    .  date("d.m.Y") ."\">
        </td>
      </tr>
       <tr>
        <td colspan=\"2\">
        <input type=\"hidden\" name=\"orario\" value=\""
    .  date("H:i:s") ."\">
        </td>
      </tr>
      <tr>
        <td colspan=\"2\">
        <input type=\"hidden\" name=\"mittente\" value=\""
    $_SESSION['username'] ."\">
        </td>
      </tr>
      "
    ?>
      <tr>
        <td>notifica
          <table width="200">
            <tr>
              <td><label>
                <input type="checkbox" name="notifica" value="si">
                notifica con mail </label></td>
            </tr>
        </table></td>
      </tr>
     <? echo"<tr>
        <td colspan=\"2\" align=\"right\"><input type=\"image\" alt=\"Invia LMS\" name=\"Submit\" value=\"invia\" src=\"img/invia.gif\"></td>
      </tr>"
    ?>
    </table>
    pagina 2: scrittura file ed eventuale notifica:
    Codice PHP:
    <?
    include("config.inc.php");
    if (
    trim($destinatario_lms) == "" ):
    echo
    "<font color=\"ff0000\">[b]Attenzione![/b]</font>
    Tutte le voci contrassegnate dal simbolo <font color=\"ff0000\">*</font> vanno compilate!

    <a class=\"text\" href=\"javascript:history.back()\">Torna indietro</a>."
    ;
    else:
    $destinatario_lms addslashes(stripslashes($destinatario_lms));
    $lms addslashes(stripslashes($lms));
    $destinatario_lms str_replace("<""&lt;"$destinatario_lms);
    $destinatario_lms str_replace(">""&gt;"$destinatario_lms);
    $lms nl2br($lms);
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri");
    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri");
    $query "INSERT INTO messaggi (mittente, destinatario, testo, data, ora, notifica) VALUES ('$mittente', '$destinatario_lms', '$lms', '$data', '$orario', '$notifica')";
    if (
    mysql_query($query$db))

    echo 
    "$data ore $orario: il messaggio è stato correttamente inviato.


    <img src=\"img/quadrato_nero.gif\">Se [b]
    $destinatario_lms[/b] ha attivato opzione di notifica via email riceverà una comunicazione che
     lo avvertirà del tuo messaggio. Se così non fosse dovrai pazientare che si colleghi al sito e veda il tuo LMS.
    <p align=\"left\">Il dettaglio del messaggio che hai inviato è:</p>
    <p align=\"left\"><img src=\"img/freccia_grigia.gif\" alt=\"\"> nick deastinatario del LMS: [b]
    $destinatario_lms[/b]

    <img src=\"img/freccia_grigia.gif\" alt=\"\"> testo del LMS: [b]
    $lms[/b]

    <img src=\"img/freccia_grigia.gif\" alt=\"\"> mittente: [b]
    $mittente[/b]

    <img src=\"img/freccia_grigia.gif\" alt=\"\"> data e ora di invio: [b]
    $data ore $orario[/b]";

    else
    echo 
    "<font color=\"ff0000\">[b]Erorre durante l'inserimento[/b]</font>

    <a class=\"text\" href=\"javascript:history.back()\">Torna indietro</a>."
    ;
    if (
    $notifica=="si")
    {
    $query "SELECT email_address FROM prova WHERE username='$destinatario_lms'";
    $result mysql_query($query$db);
    $row mysql_fetch_array($result);
    $avvisomail "--------------------\n\nServizio di notifica ricezione messaggi\n--------------------\nCiao $destinatario_lms,\n$mittente ti ha inviato un messaggio sul sito. Per leggerlo collegati al sito nella sezione messaggi.\nNel caso in cui avessi smarrito la password chiedine una nuova per l'accesso immediato ai servizi del sito.\nInformazioni aggiuntive:
    Il messaggio ti è stato inviato il \t
    $data alle ore $orario\n\n--------------------\n";  

    // invio mail

    $mailheaders "From: sito <> \n";
    $mailheaders .= "Reply-To: $mittente\n\n";

    mail("$row[email_address]""LMS di $mittente"$avvisomail$mailheaders);
    }
      
    mysql_close($db); endif;
      
      
    ?>
    :mavieni:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.