Visualizzazione risultati 1 fino 14 di 14

Discussione: Editor di testo e mail di notifica

  1. #1
    Guest

    Predefinito Editor di testo e mail di notifica

    Utilizzo uno script (scaricato da Hotscripts) che consente di editare files formato testo direttamente sul mio spazio web.
    Avrei bisogno di un aiuto per far sì che al momento del 'Submit' oltre che applicare la modifica al testo fosse inviata una mail di notifica all'amministratore (che poi sarei io )

    Nel caso vi posto il codice del form...

    Grazie cmq!
    Ultima modifica di mvpeurope : 08-09-2006 alle ore 12.48.39

  2. #2
    Guest

    Predefinito

    Potresti includere un valore hidden nel form e un controllo su quel valore hidden nella pagina di "action" del form. Se il valore hidden è true [ovvero se qualcuno è passato dal form e ha modificato qualcosa] allora con la funzione mail di php invii la mail all'amministratore.

    Invio valore hidden
    Codice HTML:
    <input type="hidden" name="controllo" value="1">
    Controllo valore
    Codice PHP:
    if ($controllo)
    {
    mail("Indirizzo email", "Oggetto", "Testo");
    }

  3. #3
    Guest

    Predefinito

    Posta il codice, senza non ti possiamo aiutare.

  4. #4
    Guest

    Predefinito

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Text Editor</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style>
    <!--
    td{font-family:verdana,sans-serif; font-size:8pt;color:#333333};
    body{font-family:verdana,sans-serif; font-size:11pt;color:#333333;font-weight:bold};
    //-->
    </style>

    </head>

    <body bgcolor="#eeeedd">
    <center>
    <font face="Tahoma">News Editor<br><br>
    </font>
    <table border="0" cellpadding="10" cellspacing="0" style="border:2px solid #ddddcc"><tr><td align="middle" bgcolor="#eeeedd">
    <font face="Tahoma">Click on "Get" to display the current text file contents.<br>Enter text and click on "Submit" to update the text file.<br>Type <i>&lsaquo;br&rsaquo;</i> to insert a linebreak.
    </font>
    <form action="edittext.php" method="post">
    <table width="300" border="0">
    <tr>
    <td><font face="Tahoma"><textarea name="text_file" rows="20" cols="40"></textarea></font></td>
    </tr>
    </table>
    <font face="Tahoma">
    <input type="submit" value="Get" name="gettext"> <input type="submit" value="Submit" name="submit"> <input type="reset" value="Reset">
    </font>
    </form>
    <font face="Tahoma">The text file currently contains the following text:<br><br>
    </font></td></tr><tr><td align="left" width="500" bgcolor="#eeeedd"><hr color=#ddddcc>
    <?php
    if (isset($gettext)){
    $myfile = fopen("news.txt","r");
    $mydata = fread($myfile,filesize("news.txt"));
    print
    $mydata;
    }
    else if (isset(
    $submit)){
    $myfile = fopen("news.txt","w+");
    $entry = ereg_replace("\n","
    "
    ,$entry);
    $entry = stripslashes($entry);
    $mydata = "&news= $text_file &
    \n\n"
    ;
    fwrite($myfile,$mydata);
    fclose($myfile);
    $myfile = fopen("news.txt","r");
    $mydata = fread($myfile,filesize("news.txt"));
    print
    $mydata;
    }
    ?>
    <hr color=#ddddcc>
    </td></tr></table>
    </center>
    </body>
    </html>
    Grazie ragazzi, per me è arabo o quasi!

  5. #5
    Guest

    Predefinito

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Text Editor</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style>
    <!--
    td{font-family:verdana,sans-serif; font-size:8pt;color:#333333};
    body{font-family:verdana,sans-serif; font-size:11pt;color:#333333;font-weight:bold};
    //-->
    </style>

    </head>

    <body bgcolor="#eeeedd">
    <center>
    <font face="Tahoma">News Editor<br><br>
    </font>
    <table border="0" cellpadding="10" cellspacing="0" style="border:2px solid #ddddcc"><tr><td align="middle" bgcolor="#eeeedd">
    <font face="Tahoma">Click on "Get" to display the current text file contents.<br>Enter text and click on "Submit" to update the text file.<br>Type <i>&lsaquo;br&rsaquo;</i> to insert a linebreak.
    </font>
    <form action="edittext.php" method="post">
    <table width="300" border="0">
    <tr>
    <td><font face="Tahoma"><textarea name="text_file" rows="20" cols="40"></textarea></font></td>
    </tr>
    </table>
    <font face="Tahoma">
    <input type="submit" value="Get" name="gettext"> <input type="submit" value="Submit" name="submit"> <input type="reset" value="Reset">
    </font>
    </form>
    <font face="Tahoma">The text file currently contains the following text:<br><br>
    </font></td></tr><tr><td align="left" width="500" bgcolor="#eeeedd"><hr color=#ddddcc>
    <?php
    if (isset($gettext)){
    $myfile = fopen("news.txt","r");
    $mydata = fread($myfile,filesize("news.txt"));
    print
    $mydata;
    }
    else if (isset(
    $submit)){
    $myfile = fopen("news.txt","w+");
    $entry = ereg_replace("\n","
    "
    ,$entry);
    $entry = stripslashes($entry);
    $mydata = "&news= $text_file &
    \n\n"
    ;
    fwrite($myfile,$mydata);
    fclose($myfile);
    //QUI DEVI EDITARE
    mail("INDIRIZZO@NOTIFICA.IT", "OGGETTO NOTIFICA", "E' stato modificato il file news.txt");
    $myfile = fopen("news.txt","r");
    $mydata = fread($myfile,filesize("news.txt"));
    print
    $mydata;
    }
    ?>
    <hr color=#ddddcc>
    </td></tr></table>
    </center>
    </body>
    </html>
    Prova così

  6. #6
    Guest

    Predefinito

    Funziona alla grande!
    Approfitto ancora: per sapere da chi è stato editato il file delle news? Mi spiego meglio, ciascun manager della nostra lega ha la possibilità di editare questo file per la propria squadra, file che è contenuto in cartelle distinte, tante quante sono le squadre
    C'è la possibilità con php di conoscere anche il percorso del file editato cioè visualizzare nel messaggio di posta anche il nome della cartella che contiene il news.txt?
    O per individuare l'autore della modifica dovrei impostare una qualche forma di accesso personalizzato al proprio editor?

    EDIT: La funzione mail prevede anche un "From: $tuoemail"
    Se aggiungessi accanto al Submit un campo obbligatorio in cui inserire la propria email?

    RI-EDIT:
    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Text Editor</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style>
    <!--
    td{font-family:verdana,sans-serif; font-size:8pt;color:#333333};
    body{font-family:verdana,sans-serif; font-size:11pt;color:#333333;font-weight:bold};
    //-->
    </style>

    </head>

    <body bgcolor="#eeeedd">
    <center>
    <font face="Tahoma">News Editor<br><br>
    </font>
    <table border="0" cellpadding="10" cellspacing="0" style="border:2px solid #ddddcc"><tr><td align="middle" bgcolor="#eeeedd">
    <font face="Tahoma">Click on "Get" to display the current text file contents.<br>Enter text and click on "Submit" to update the text file.<br>Type <i>&lsaquo;br&rsaquo;</i> to insert a linebreak.
    </font>
    <form action="edittext.php" method="post">
    <table width="300" border="0">
    <tr>
    <td><font face="Tahoma"><textarea name="text_file" rows="20" cols="81"></textarea></font></td>
    </tr>
    </table>
    <font face="Tahoma">
    <font size="2">Your Team: </font>
    <input type="text" name="realname" size="37"></font><p><input type="submit" value="Get" name="gettext"> <input type="submit" value="Submit" name="submit"> <input type="reset" value="Reset"
    >
    </font>
    </form>
    <font face="Tahoma">The text file currently contains the following text:<br><br>
    </font></td></tr><tr><td align="left" width="500" bgcolor="#eeeedd"><hr color=#ddddcc>
    <?php
    $ownermessage
    ="$realname";
    if (isset(
    $gettext)){
    $myfile = fopen("news.txt","r");
    $mydata = fread($myfile,filesize("news.txt"));
    print
    $mydata;
    }
    else if (isset(
    $submit)){
    $myfile = fopen("news.txt","w+");
    $entry = ereg_replace("\n","
    "
    ,$entry);
    $entry = stripslashes($entry);
    $mydata = "&news= $text_file &
    \n\n"
    ;
    fwrite($myfile,$mydata);
    fclose($myfile);
    mail("miaposta@xxx.it", "News", "News updated by $ownermessage");
    $myfile = fopen("news.txt","r");
    $mydata = fread($myfile,filesize("news.txt"));
    print
    $mydata;
    }
    ?>
    <hr color=#ddddcc>
    </td></tr></table>
    </center>
    </body>
    </html>
    Ho aggiunto nel form dell'editor un campo chiamato realname. Quindi un $ownermessage=$realname e nella funzione mail utilizzo $ownermessage per sapere chi ha editato le news.

    Per rendere obbligatorio l'inserimento del nome della squadra cosa devo aggiungere allo script?

    P.S. perdonatemi se vi sto sommergendo di post ma 'sto php è proprio divertente


    FunCool: Non fare UP, usa il tasto Edita.
    Ultima modifica di funcool : 10-09-2006 alle ore 16.40.25

  7. #7
    Guest

    Predefinito

    Per aggiungere il mittente personalizzato basta fare così:
    Codice PHP:
    mail('destinatario@della.mail', 'oggetto', 'testo', 'From: Nome del mittente <indirizzo@mittente.it>');

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da pes5League
    Per rendere obbligatorio l'inserimento del nome della squadra cosa devo aggiungere allo script?
    Nel form metti un menu a tendina con i nomi di tutte le squadre, e poi con il php leggi il valore che è stato selezionato dal form.
    Sempre col php rendi obbligatoria la selezione della squadra perchè se il valore è vuoto allora fermi lo script e segnali l'errore.

  9. #9
    Guest

    Predefinito

    Un'altra cosa, editando il file di testo via php gli apici vengono visualizzati preceduti da una slash.
    Cercando sul forum ho appreso dell'esistenza di magic quotes and stripslashes; nel codice che ho postato c'è una riga $entry=stripslashes ma evidentemente non è sufficiente.
    Come deve essere modificato il codice?

  10. #10
    Guest

    Predefinito

    Prova a mettere 2 stripslashes in fila, stranamente funziona, come ho scritto in questo thread
    Ultima modifica di tuttoeniente2 : 11-09-2006 alle ore 16.49.30

  11. #11
    Guest

    Predefinito

    Niente da fare, non ha funzionato
    Ma nel codice che ho postato quell'ereg_place a cosa serve?

  12. #12
    Guest

    Predefinito

    Penso che tu debba mettere
    Codice PHP:
    $entry .= stripslashes($entry);
    affinchè ti sostituisca la variabile.

  13. #13
    Guest

    Predefinito

    Niente ancora ma sai che ti dico oltre a ringraziarti cmq.
    Chissenefrega! Ci terremo le slashes

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da JoErNanO
    Penso che tu debba mettere
    Codice PHP:
    $entry .= stripslashes($entry);
    affinchè ti sostituisca la variabile.
    hai messo un punto in più, in quel modo la variabile non viene sostituita...
    Codice PHP:
    $entry = stripslashes($entry);

Regole di scrittura

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