Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Script censura parole

  1. #1

    Script censura parole

    Ciao a tutti, mi sono accostato da poco al php,
    vorrei chiedervi se qualcuno può indicarmi come aggiungere un filtro per le parole
    non corrette, vorrei sostituirle con gli asterischi, ho trovato alcuni script, ma non sono
    stato in grado di adattarlo al mio form.

    grazie per l'aiuto
    ciao

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    molto probabilmente ti suggeriremo proprio quelli che non sei riuscito a d adattare, quindi è meglio se ci spieghi quanti e quali problemi hai riscontrato ad adattare questi filtri ^_^

  3. #3
    Ciao questo è lo script in questione, vorrei fare alcune modifiche,vorrei far prendere le parole da un file di testo.

    Codice PHP:
    //variabile passata tramite form 
    $testo_form $_POST["preghiera"];
    /* creo un array che contiene tutte le parole che voglio vietare di inserire nel form*/
    $parolacce=array('parolaccia','seconda parolaccia','.azz','cac..'); 
    /*cicla ogni parola presente nell'array e assegna ogni valore alla variabile*/
    foreach($parolacce as $parolaccia)
    {
    /* funzione di libreria che sostituisce le parole trovate in comune nell'array e nel testo inviato tramite form con le tre x */
    $nome=ereg_replace($parolaccia,'xxx',$nome);
    }
    /* se è stata inserita una parolaccia restituisce un messaggio di errore*/
    if ($nome == "xxx"){
     echo 
    "non sono ammesse queste parole
    "
    ;
    $errore 1;


    Grazie per la pazienza, ciao

  4. #4
    ... Questo invece è il codice della pagina:
    Codice PHP:
    // impostazioni variabili
    $og_html=array("nick","oggetto");
    $fnome="./messaggi.txt";

    // funzione controllo
    function controllo() {
     global $og_html, $_REQUEST;

     foreach($og_html as $val) {
        if(empty($_REQUEST[$val])) return false;
     };
     return true;
    }

    // controllo dati ricevuti
    if(controllo()) {

        // modifica dati
        $nick=substr($_REQUEST["nick"],0,10);
        $oggetto=substr($_REQUEST["oggetto"],0,60);
        $nick=htmlspecialchars($nick);
        $oggetto=htmlspecialchars($oggetto);

        // apertura file
        $file=file($fnome);

        for($x=1; $x<count($file); $x++) $file_tmp[]=$file[$x];

        $file_tmp[]="\n$nick: $oggetto";

        $file=fopen($fnome,"w+");
        fwrite($file,implode("",$file_tmp));
        fclose($file);

    };

    // lettura file
    $file=file($fnome);

    // formattazione
    unset($tmp_file);
    for($x=0; $x<count($file); $x++) {
        $file[$x]=addslashes(trim($file[$x],"\n"));
    };

    for($x=count($file)-1; $x>=0; $x--) $tmp_file[]=$file[$x];

    // variabile da passare allo script
    $cont_file=implode(" - ",$tmp_file);
    ?>

    <html>
    <head>
        <title>Messaggi scorrevoli</title>

    <style type="text/css">
    <!--
    a {
        color:blue;
        text-decoration:underline
    }
    a:hover {
        color:red;
        text-decoration:underline overline
    }
    body {
        font:normal 1pc arial;
        color:black
    }
    table#tab_cont td {
        border:#000000 1px solid
    }
    input {
        border:#000000 1px solid
    }
    -->
    </style>

    </head>
    <body>

    <table style="border:#000000 1px solid; width: 349px; height: 291px;">
    <tr><td>

    <div id="frm">
    <form method="post" action="<?php print($_SERVER["PHP_SELF"]); ?>" onsubmit="return valida(this);" style="padding:0px; margin:0px">
    <table style="width: 338px; height: 188px">
    <tr><td>Nick:</td><td><input type="text" name="nick" style="width: 194px"></td></tr>
    <tr><td>Oggetto:</td><td>
        <textarea name="TextArea1" style="height: 89px; width: 249px"></textarea></td></tr>
    <tr><td colspan="2" align="center"><input type="reset" value="Resetta"><input type="submit" value="Invia"></td></tr>
    </table>
    </form>
    </div>

    </td></tr>
    <tr>
        </tr>
        <td>

        </td>

    <script type="text/javascript">
    <!--
    var tempo=100;
    var scroll=5;
    var timer=null;
    var timer_indietro=null;
    var timer_avanti=null;
    var scroll_vel=scroll+10;

    // funzione valida
    function valida(qst) {
    var reg=new RegExp("^[ ]*$");
    var chi=null;
     try {
        if(reg.test(qst.nick.value)) {
            chi="nick";
            throw "Non hai inserito il nick...";
        };
        if(reg.test(qst.oggetto.value)) {
            chi="oggetto";
            throw "Non hai inserito l'oggetto...";
        };
     }
     catch(mes) {
        window.alert(mes);
        qst.elements[chi].focus();
        return false;
     };
    return true;
    };
    </script>

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova così

    Codice PHP:
    //variabile passata tramite form 
    $testo_form $_POST["preghiera"];
    /* creo un array che contiene tutte le parole che voglio vietare di inserire nel form*/
    if (!$p_file fopen("miofile.txt","r")) {
    echo 
    "Spiacente, non posso aprire il file miofile.txt";
    } else {
    while(!
    feof($p_file))
    {
    $parolacce[] = fgets($p_file255);
    }
    fclose($p_file);
    }
    /*cicla ogni parola presente nell'array e assegna ogni valore alla variabile*/
    foreach($parolacce as $parolaccia)
    {
    /* funzione di libreria che sostituisce le parole trovate in comune nell'array e nel testo inviato tramite form con le tre x */
    $nome=ereg_replace($parolaccia,'xxx',$nome);
    }
    /* se è stata inserita una parolaccia restituisce un messaggio di errore*/
    if ($nome == "xxx"){
     echo 
    "non sono ammesse queste parole
    "
    ;
    $errore 1;


  6. #6
    Ciao grazie per la risposta, ho un errore, ma non so se sia per lo script di controllo che mi hai girato o se per il javascript.

    mi da questo errore:
    TypeError: Cannot convert 'qst.oggetto' to object

    che ne dici?



    Codice PHP:
    script type="text/javascript">
    <!--
    var tempo=100;
    var scroll=5;
    var timer=null;
    var timer_indietro=null;
    var timer_avanti=null;
    var scroll_vel=scroll+10;

    // funzione valida
    function valida(qst) {
    var reg=new RegExp("^[ ]*$");
    var chi=null;
     try {
        if(reg.test(qst.nick.value)) {
            chi="nick";
            throw "Non hai inserito il nick...";
        };
        if(reg.test(qst.oggetto.value)) {
            chi="oggetto";
            throw "Non hai inserito l'oggetto...";
        };
     }
     catch(mes) {
        window.alert(mes);
        qst.elements[chi].focus();
        return false;
     };
    return true;
    };
    </script>
    <?php //variabile passata tramite form  
    $testo_form $_POST["preghiera"]; 
    /* creo un array che contiene tutte le parole che voglio vietare di inserire nel form*/ 
    if (!$p_file fopen("badwords_IT.txt","r")) { 
    echo 
    "Spiacente, non posso aprire il file miofile.txt"
    } else { 
    while(!
    feof($p_file)) 

    $parolacce[] = fgets($p_file255); 

    fclose($p_file); 

    /*cicla ogni parola presente nell'array e assegna ogni valore alla variabile*/ 
    foreach($parolacce as $parolaccia

    /* funzione di libreria che sostituisce le parole trovate in comune nell'array e nel testo inviato tramite form con le tre x */ 
    $nome=ereg_replace($parolaccia,'xxx',$nome); 

    /* se è stata inserita una parolaccia restituisce un messaggio di errore*/ 
    if ($nome == "xxx"){ 
     echo 
    "non sono ammesse queste parole
    "

    $errore 1
    }
    ?>

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    se è un errore javascript lo dovresti sapere visto che c'è un monitor apposito sugli errori javascript, ma non vedo dove usi la funzione javascript controllo.

  8. #8
    Ciao pensavo che fosse un errore java perchè c'è il richiamo a questa funzione:
    Codice PHP:
    function valida(qst
    e l'errore che mi dava era questo :

    TypeError: Cannot convert 'qst.oggetto' to object

    sbaglio?

    scusa ma qual'è il monitor degli errori javascript..

  9. #9
    Ciao, questo script senza il codice della censura funziona, e scrive l'imput del form
    su un file di testo. mi piacerebbe riuscire a farlo funzionare, grazieper la pazienza, ciao.

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    secondo me è un errore javascript della funzione valida. Sbagli il parametro che gli passi, ma dal codice che hai postato non si vede dove la chiami

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.