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

    Filtro controllo parole

    Salve a tutti , ho la necessità di eseguire un controllo sulle parole digitate nel form , e nel caso venisse trovata ad esempio la parola latte , con un redirect devo rimandare ad un’altra pagina .
    Ho provato in vari modi ma niente da fare , potreste aiutarmi a risolvere questo problema ?


    Codice PHP:
    <?php
    <form method=post action=pagina.php>  
    <
    input type=text size="60" name=chiave style='BACKGROUND-COLOR: ecc……
    </form>    
    $chiave=$_REQUEST['
    chiave'];  
    top();
    // connessione al database
    $keys = explode (",", $chiave);
    $query = "";
    reset ($keys);
    while (list(,$parola) = each ($keys))
    { $parola = trim($parola);
    if ($parola != "")
    $query .= "creazione della query…………………………..";
    }
    $query .= " 0";
    $query = "SELECT ecc…………..     " . $query;
    while ($row = mysql_fetch_array($result))
    {
    $prezzo = $row['
    prezzo'];
    $mozzarella = $row['
    mozzarella'];

    //CONTROLLO SULLE PAROLE DIGITATE
    $filtro=("latte");
    if ($parola != "$filtro")
    Header( "Location: http:indirizzo del sito web" );
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    non è chiaro cosa digita l'utente: una singola parola o una lista? e il controllo dove deve avvenire? In un campo specifico di una singola tabella di un db o dove?

  3. #3
    Sto cercando una soluzione ma ancora niente
    non è chiaro cosa digita l'utente: una singola parola o una lista? e il controllo dove deve avvenire? In un campo specifico di una singola tabella di un db o dove?


    Ti spiego quello che avviene :

    - L'utente digita una frase
    - Creazione di cookie
    - Parte l'interrogazione e il recupero dei dati da mysql
    - Se nel database non viene trovato niente scatta il controllo
    - Questo controllo SULLE PAROLE DIGITATE nel form dovrebbe avvenire al termine di tutte le altre operazioni

    Hai presente gli script che eseguono il controllo sulle parolacce ? devo realizzare qualcosa di simile

    Speriamo di venirne a capo !


    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    non ti basta generare una query tipo:

    Codice PHP:
    // ...
    $words = array(); // inizializz.
    foreach ($keys as $parola) { // $keys è la lista di parole
      
    $words[] = "'".escape($parola)."'"// escape è la funzione di escaping (*)
    };
    $wordlist implode("," $words); // riunisce la parole
    $query "SELECT COUNT(*) FROM tabella WHERE campo IN ($wordlist)";
    // ... 
    (*) normalmente quella di mysql, ma vedi tu...

    Se la query fornisce un numero maggiore di 0 esistono record con le parole cercate...

  5. #5
    non ti basta generare una query tipo: ...... normalmente quella di mysql, ma vedi tu... Se la query fornisce un numero maggiore di 0 esistono record con le parole cercate...
    Il controllo sulle parole non deve avvenire nel database , mi spiego meglio :

    Ipotizziamo due termini

    1- Latte

    2 - Farina

    Ora se l'utente digita UNA FRASE del tipo , per fare il budino ci vuole il LATTE e quella frase è presente nel database recupero i dati e tutto finisce li .

    Se invece "non è presente" allora scatta il controllo sulle parole digitate dall'utente , quindi :

    Se la frase contiene LATTE vai alla pagina uno.php

    Se la frase contiene FARINA vai alla pagina due.php

    Se la frase contiene FARINA + LATTE vai alla pagina tre.php

    Se la frase NON contiene FARINA o LATTE mostri un messaggio ( latte e farina sono finiti , se vuole le mandiamo delle uova )


    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    l'esempio che ti ho fatto va bene: se COUNT(*) è pari a 0 allora NON si è trovata la parola e quindi procedi con il controllo:

    Codice PHP:
    $ck = array();
    foreach (
    $keys as $key) {
      if (!isset(
    $ck[$key])) $ck[$key]=0;
      
    $ck[$key]++;
    };
    // qui ti trovai un array che ha i conteggi delle parole trovate, es.:
    /*
    $ck = array(
      'latte' => 2,
      'farina' => 1,
    );
    */ 

  7. #7
    Ok , ho risolto , grazie !

    Buona domenica

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ok... ciao!

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.