• User

    Richiamare una funzione PHP da Javascript

    Ciao a tutti, mi sto scervellando per risolvere un problema probabilmente semplice ma a me sconosciuto.

    Sono in una pagina HTML del mio sito ed ho una tabella (<table>) con i nomi, cognomi etc. delle persone. Su ogni riga c'e' un pulsante (conferma) che serve a confermare questi nominativi.

    Ora, vorrei usare un sistema affinchè cliccando sul tasto conferma, venga richiamato un programma (o funzione o quello che sia) in PHP che si preoccupa di fare una operazione semplicissima:

    [php]$sql = "UPDATE clienti SET confermato = 'SI' WHERE id_utente = 10"; // 10 è il cliente che devo aggiornare
    $query = @mysql_query($sql);[/php]Come potete notare in questo esempio, non ho la necessita di fare ulteriori cose da PHP.

    La cosa che mi torna difficile è quella di NON DOVER RICARICARE LA PAGINA HTML, ma semplicemente eseguire questo aggiornamento tramite PHP. Al limite, se vogliamo, un messaggio alert che mi dice: CONFERMA EFFETTUATA!.

    Quindi il codice in HTML sarebbe:
    [html]<input type="submit" onclick= "DEVE RICHIAMARE IL PROGRAMMA PHP">[/html] (o qualcosa del genere)

    Ora qualcuno **DISATTENTO **potrebbe dirmi: Basta usare il comando GET o POST, ma questo richiamerebbe la pagina PHP (esempio: conferma.php), e dovrei ricaricare la pagina HTML di nuovo (COSA CHE NON VORREI FARE).

    Siccome questa necessità viene utilizzata in diverse mie pagine HTML e in casi diversi, vorrei sapere se posso creare un comando (funzione javascript???) che esegua il programma senza che io esca da HTML.
    Aggiungo che .... cercando su internet, esiste una cosa simile sulla ricerca dei COMUNI.
    Praticamente tramite una select si seleziona prima la citta (che chiama una funzione php che popola le provincie), poi con un altro select si seleziona la provincia SENZA MAI USCIRE DALLA PAGINA HTML.

    Se poi vogliamo ESAGERARE 😄 inserirei una variabile in PHP dopo l'avvenuto aggioramento, tipo:

    [php]$messaggio = "LA CONFERMA DI QUESTO UTENTE E' STATA EFFETTUATA";[/php]e di conseguenza, visualizzare in HTML la variabile messaggio. Chiedo troppo? Spero di no.

    Dimenticavo: l'opzione UNIRE PHP e HTML in un unica pagina non va bene! 🙂


  • ModSenior

    Provo a ipotizzare l'uso di JQuery che chiami magari con il suo load in un div nascosto una pagina php...

    Non conoscendo bene PHP però non saprei dirti se esistono funzioni più snelle.


  • User

    Grazie Marco, potresti farmi gentilmente un esempio pratico di cio che intendi per Jquery prendendo l'esempio che ho scritto nel forum?
    Dopodichè proverò io ad approfondire l'argomento.


  • Super User

    Ciao, la tua richiesta è relativa a Javascript quindi sposterò la discussione. 🙂

    Puoi utilizzare questo http://api.jquery.com/jQuery.post/ come vedi puoi associare l'evento click alla chiamata al post di jqwery a cui dovrai passare i parametri necessari per fare la corretta richiesta a php.


  • User Attivo

    Ciao,
    hai mai sentito parlare di ajax? è proprio quello che ti serve.