• Moderatore

    Ho dato un'occhiata al tutto.
    Ora non ho molto tempo per realizzarti lo script completo, ma cerco di spiegarti al meglio come realizzarlo. Se poi hai dei problemi perchè non conosci il sistema Ajax, dimmelo e porta pazienza che te lo realizzo. 😉
    Comunque...
    In una pagina, inserirai il form per il recupero dei dati, che lo trovi nella pagina php. Dalla pagina php lo elimini.
    Poi crei ( sempre nella pagina di Wordpress ) un sistema di recupero dei dati dal form in jQuery scrivendo proprio il codice.
    Una volta recuperati i dati, li passi in post con ajax, stando attenta ad evitare il normale submit del form e stampando i risultati in un div prelevati dalla pagina php.

    Spero di averti chiarito un po' le idee, poi se non riesci, oggi pomeriggio ho un'oretta libera e se vuoi ti posso fare lo script.


  • User

    Ma il sistema di recupero dei dati dal form in jQuery dovrei crearlo da zero? In tal caso, non saprei proprio dove mettere mano e ti sarei grata se mi dessi una mano...

    Una volta fatto tutto quello che mi hai detto il motore di ricerca funzionerà come nel sito vecchio?
    Attendo lo script ma dovria aiutarmi anche a inserirlo. Ti chiedo scusa anticipatamente e ti ringrazio per la pazienza che hai avuto e avrai nel dirmi passo dopo passo le cose da fare.


  • Moderatore

    Allora, come prima cosa, all'interno della cartella httpdocs ( dove ci sono i file dei wordpress ) crei una cartella chiamata database.
    All'interno di questa cartella ci inserisci:

    • data.txt ( così com'è senza toccarlo )

    Poi ti realizzi un nuovo file php in questo modo:

    [PHP]
    <?php
    if( $_GET['rima'] == '' || empty( $_GET['rima'] ) ) {
    echo '<p>Devi inserire una parola</p>';
    exit();
    }
    if( $_GET['R1'] == 2 ) {
    $rima = -2;
    } elseif( $_GET['R1'] == 4 ) {
    $rima = -4;
    } elseif( $_GET['R1'] == 3 ) {
    $rima = -3;
    }
    $parola = strtolower( $_GET['rima'] );
    $rest = substr( $parola, $rima );
    echo '<p>Parola: '. $parola .' - Attinenza: <strong>' . $rest .'</strong></p>';
    $file = 'data.txt';
    if( file_exists( $file ) ) {
    $file = file( $file );
    if( is_array( $file ) ) {
    echo '<p>';
    foreach( $file as $key ) {
    if( substr( rtrim( $key ), $rima ) == $rest ) {
    echo '- ' . $key . '<br>';
    }
    }
    echo '<p>';
    } else {
    echo 'Il file data non è un array';
    }
    } else {
    echo 'Il file data non esiste';
    }
    ?>
    [/PHP]
    Salvi e lo nomini file.php. Lo inserisci nella cartella database.
    Ora apri una nuova pagina in Wordpress, ed inserisci ( in modalità testo, non in modalità visuale mi raccomando ) questo form:
    [HTML]
    <input type="text" name="rima" id="rima" placeholder="Inserisci una parola per cercare una rima">
    <input type="radio" value="2" name="R1"> 2<br>
    <input type="radio" value="3" name="R1"> 3<br>
    <input type="radio" value="4" name="R1"> 4<br>
    <button type="button" id="carica">Trova rime con le ultime lettere!</button>
    <div class="result"></div>
    [/HTML]
    Ora, non ci rimane altro che creare lo script jQuery che farà funzionare tutto.
    Appena sotto il form, inserisci questa funzione javascript:
    [HTML]
    <script>
    jQuery(document).ready(function($) {
    // all'evento click del button
    $('#carica').on( "click", function() {
    $('.result').text('Attendi mentre veiene elaborata la richiesta').fadeIn(500);
    var rima = $('#rima').val();
    var R1 = $('input[type=radio][name=R1]:checked').val()
    $.ajax({

            // inserisci bene la url del tuo sito
    
            url: 'http://www.tuo_sito.it/database/file.php',
            type: "GET",
            cache: false,
            data: { rima:rima, R1:R1 },
            success: function( data ) {
                $('.result').html( data );
            }
        })
    })
    

    })
    </script>
    [/HTML]

    Ricordati di mettere l'indirizzo del tuo sito in maniera corretta.
    Salva la pagina e prova se tutto funziona.
    Ovviamente penso dovresti inserire un po' di css per associare il form allo stile del tuo sito.

    Fammi sapere


  • User

    Allora ho inserito i file data-text e file.php nella cartella "database" di Wordpress (it.tinypic.com/r/r10rc9/8).

    Poii ho inserito i codici che mi hai indicato in una pagina Wordpress in modalità Testo (it.tinypic.com/r/ou9ylv/8). Quando vado a visualizzare la pagina mi compare questo: "it.tinypic.com/r/2rw40bd/8". Vado a digitare la parola ciao per vedere se il motore di ricerca funziona ma niente, il bottone è completamente inattivo.

    Volevo dirti se in qualche modo poteva essere causato dal fatto che il sito non l'ho ancora pubblicato e la cartella wordpress è ancora nella cartella httpdocs.

    In attesa di avere una risposta ti dico che ho inserito nella parte dove va il link del sito 3 link per sicurezza e ho provato a visualizzare la pagina in tutti e tre i casi:

    1)rima-con.net/database/file.php

    2)rima-con.net/wordpress/database/file.php

    3)rima-con.net/wordpress/index/database/file.php

    ovviamente in wordpress li ho inseriti con http : // wwww

    Attendo un tuo riscontro se riesci a capire come mai non funziona. Grazie mille per la pazienza!


  • Moderatore

    dammi la url della pagina con il form


  • Moderatore

    Trovata da solo la pagina 🙂
    c'è un errore con un marcatore </p> di chiusura e poi non capisco perchè non prende l'evento click. Correggi il codice js in questo modo

    [HTML]
    <script>
    // all'evento click del button
    $('#carica').click( function( event ) {
    event.preventDefault();
    $('.result').text('Attendi mentre veiene elaborata la richiesta');
    var rima = $('#rima').val();
    var R1 = $('input[type=radio][name=R1]:checked').val()
    $.ajax({
    // inserisci bene la url del tuo sito

            url: "http://www.rima-con.net/wordpress/database/file.php",
            type: "GET",
            cache: false,
            data: { rima:rima, R1:R1 },
            success: function( data ) {
                $('.result').html( data );
            }
        })
    })
    

    </script>
    [/HTML]


  • User

    rima-con.net/wordpress/index/

    (senza ht tp : // wwww)


  • User

    Ho corretto il codice javascript ma il bottone continua a essere inattivo....


  • Moderatore

    Come prima cosa, c'è un conflitto con jQuery che per risolverlo, facciamo prima se mi mandi il file page.php del tuo template.
    Seconda cosa. a questo indirizzo: http://www.rima-con.net/wordpress/database/file.php
    Dove risiede il file.php perchè vedo il form e tutto il resto? Li ci deve stare esclusivamente il codice php che ti ho scritto e non altro. Mettimi esclusivamente il codice php, almeno riesco a fare un debug


  • User

    Ecco lo stamp del file page.php del tema (it.tinypic.com/r/2073u4k/8)(non so come inviarti il file perchè non posso inserire gli allegati, fammi sapere se è meglio che te lo invio su skype).

    Intanto ho modificato anche file.php inserendo solo il codice php.


  • Moderatore

    C'è un htaccess che mi blocca l'accesso tramite js dal mio sito.
    Comunque ora il file php funziona ( almeno quello 😞 http://www.rima-con.net/wordpress/database/file.php?rima=ciao&R1=2