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

    Chiamare funzione PHP da Javascript

    Ciao,
    ho visto googolando un po' di post per risolvere questo problema, ma non ne ho trovato nessuno con una soluzione del genere:

    Codice PHP:
    /* creo una pagina php caller.php semplicemente così */
    include("functions.inc.php");

    echo eval(
    $_GET['funz']); 
    Eseguo poi la chiamata allo script passando l'intera chiamata alla funzione come parametro "funz", tipo così in jquery:
    codice:
    $("#target-id").load("caller.php?funz=funzione($par1,$par2);");
    Non utilizzabile forse perchè genera problemi di sicurezza ?
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  2. #2
    Ma con jquery puoi già chiamare una pagina php in questo modo (ad esempio per fare una chiamata passando i dati tramite post):

    codice:
    $.post("search/getDati.php", {t: testo}, function(data) {
    //qui quello che vuoi fare con i dati restituiti
    });
    E la pagina php non deve far altro che usare echo per il passaggio dei dati.
    Can You See Curtains? Then Isn't Windows!

  3. #3
    Questo è il semplice utilizzo delle chiamate ajax verso una pagina, ma se vuoi chiamare delle vere e proprio funzioni come fai ?
    Considera un funzioni.php che contiene 100 funzioni, come faresti a chiamare una o l'altra senza dover predisporre una struttura particolare sul file funzioni.php che le contiene ?
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  4. #4
    Ti consiglio di fare qualcosa del genere:
    nel file funzioni.php usa un caller generico, usando questa istruzione
    http://php.net/manual/en/function.ca...func-array.php
    Grazie a questa istruzione di PHP puoi richiamare una funzione, passando anche un numero arbitrario di parametri.
    Usando questa chiamata:
    $("#target-id").load("caller.php?funz=funzione&par[0]=par1&par[1]=par2 ecc...");
    Passi a caller.php qualcosa di simile:
    Array(
    funz => funzione,
    par => Array(
    0=>par1,
    1=>par2,
    ecc...
    ))
    Ovviamente la funzione che richiami restituirà qualcosa con il return. Non devi fare altro che prendere il risultato ( da call_user_func_array ) e stamparlo:
    Es.
    print call_user_func_array($_POST['funz'],$_POST['par']);
    LittleChe

  5. #5
    Grazie, ci provo !!
    Ma l'esempio che ho postato io invece non va bene ?
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  6. #6
    Potrebbe funzionare, però la funzione che ti ho postato io funziona al 100%
    ( La uso per una web application e funziona alla perfezione )
    E poi è anche un modo di ordinare meglio le variabili. Metti che un giorno vuoi ordinare in classi, con questa funzione puoi anche passare parametri ad un costruttore.
    LittleChe

  7. #7
    Originariamente inviato da rasega
    Questo è il semplice utilizzo delle chiamate ajax verso una pagina, ma se vuoi chiamare delle vere e proprio funzioni come fai ?
    Considera un funzioni.php che contiene 100 funzioni, come faresti a chiamare una o l'altra senza dover predisporre una struttura particolare sul file funzioni.php che le contiene ?
    Non avevo capito che non potevi modificare il sorgente php! In ogni caso la risposta successiva è migliore della mia... Infatti me la segno
    Can You See Curtains? Then Isn't Windows!

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.