Wordpress e confronto testo commenti duplicati

Discussione in 'WordPress' iniziata da dalziani, 15 Dicembre 2009.

  1. dalziani

    dalziani Nuovo Utente

    Registrato:
    12 Ottobre 2009
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Ciao,

    ho realizzato un tema accessibile per Wordpress, si chiama Santa Lucia e potete vederlo in opera (e fare il download)

    all'indirizzo http://wordpress.4elementi.info.

    Per uniformare al template i messaggi di errore (e sottrarli alla funzione wp_die) ho utilizzato due pagine intermedie (studiate per la verifica dei dati

    inseriti dall'utente nel formulario) che segnalano errore se non vengono inseriti nome, e-mail e messaggio e se si scrive un

    commento duplicato.

    E qui la difficoltà: mi connetto al database e richiamo il contenuto dei campi della colonna che contengono il testo dei commenti

    $query = "SELECT comment_content FROM wp_comments";
    $result = mysql_query($query) or die(mysql_error());

    assegno alla variabile $testo (nel contesto di un ciclo while) la ricerca dei contenuti

    while($row = mysql_fetch_array($result)){
    $testo = $row['comment_content'];

    vado a raffrontare il testo del messaggio inserito nel formulario (che va col metodo post nella variabile $commento) con il

    testo ottenuto dalla query sui campi commento del database Mysql

    if ($commento==$testo)
    {
    print "<p>Attenzione, esiste gia'un commento con lo stesso contenuto: probabilmente non l'hai scritto tu, se vuoi ritorna

    alla <a href=\"javascript:history.back()\">pagina precedente</a> e correggi il testo. Se il link di ritorno alla pagina non

    funziona, premi il pulsante \"indietro di una pagina\" del tuo <span lang=\"en\">browser</span></p>";
    }

    Non funziona a meno che i due commenti uguali siano scritti consecutivamente: eppure se scrivo con echo il contenuto delle

    variabile $testo e $commento vedo che corrisponde.

    E' poco precisa la funzione di confronto if ($commento==$testo) fuori del ciclo while?

    Grazie

    Francesco
     
  2. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    16.028
    Mi Piace Ricevuti:
    146
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    non potresti fare così
    PHP:
    //......
    $query "SELECT comment_content FROM wp_comments WHERE comment_content='".$commento."'";
    $result mysql_query($query) or die(mysql_error());
    $esiste=mysql_num_rows($result);
    if(
    $esiste >0){//se esiste è maggiore di 0
    //quello che devi fare se il commento esiste
    }else{
    //quello che dvi fare se il commento non esiste
    }
    //................
     
  3. dalziani

    dalziani Nuovo Utente

    Registrato:
    12 Ottobre 2009
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Grazie e tema

    Grazie per il contributo, funziona benissimo.

    Il tema accessibile di Wordpress è all'opera qui

    http://4elementi.info/wordpress/

    e scaricabile qui

    http://4elementi.info/wordpress/?page_id=47

    Se le soluzioni accessibili sono interessanti (pagine di verifica/correzione dei dati inseriti Wcag 2.0 criterio 3.3.6, messaggi di errore col template del tema, layout elastico e input in em) il codice è a disposizione.

    Cari saluti

    Francesco
     
  4. alessandro1997

    alessandro1997 Utente Attivo

    Registrato:
    6 Ottobre 2009
    Messaggi:
    5.303
    Mi Piace Ricevuti:
    1
    Punteggio:
    0
    Occupazione:
    Studente
    Località:
    Roma
    Home Page:
    Intanto usa il metodo che ha suggerito borgo italia, in ogni caso ti spiego anche perché funzionava solo se i due commenti erano scritti consecutivamente. Tu utilizzi un ciclo while per assegnare sempre alla stessa variabile il contenuto del commento, di conseguenza la variabile conteneva sempre il testo dell'ultimo commento inserito ;)
     
  5. dalziani

    dalziani Nuovo Utente

    Registrato:
    12 Ottobre 2009
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Array

    Grazie Alessandro,

    e pensa che mi stavo complicando ulteriormente la giornata con gli array.

    Grazie borgo italia!

    Il motivo per cui usavo while è che mi sono fissato sul primo esempio che avevo considerato per il recupero dei dati da database.

    Tutto bene

    Francesco
     
Sto caricando...

Condividi questa Pagina