Paras vastaus
Ei PHP on palvelimen palvelinkoodi, tässä on hieno selitys stackexchangesta
Ensinnäkin ymmärrä, että sinulla on kolme kieltä yhdessä.
- PHP: Ainoastaan palvelin hoitaa ja vastaa pyyntöihin, kuten napsauttamalla linkkiä (GET) tai lähettämällä lomake (POST).
- HTML ja JavaScript: Suoritetaan vain jonkun selaimessa (lukuun ottamatta NodeJS: ää).
Oletan, että tiedosto näyttää tältä :
function runMyFunction() {
echo "I just ran a php function";
}
if (isset($\_GET["hello"])) {
runMyFunction();
}
?>
Hello there!
Run PHP Function
Koska PHP vastaa vain pyyntöihin (GET, POST, PUT, PATCH ja DELETE via $ \_REQUEST), tällä tavalla sinun on suoritettava PHP-toiminto, vaikka ne olisivatkin samassa tiedostossa. Tämä antaa sinulle tietoturvan tason "Pitäisikö minun suorittaa tämä komentosarja tälle käyttäjälle vai ei?".
Jos et halua päivittää sivua, voit tehdä pyynnön PHP: lle päivittämättä menetelmä nimeltä Asynchronous JavaScript and XML (AJAX).
Voit kuitenkin etsiä YouTubesta. Tee haku "jquery ajax"
Täysi linkki lainaukseen:
Suorita PHP-toiminto onClickin avulla
Vastaa
Paras tapa tehdä tämä olisi paljastaa PHP-toimintosi palvelinpuolen sovelluksen ohjaimen kautta. Javascript voi sitten kutsua menetelmää Axiosin kaltaisen kirjaston avulla. Se näyttäisi todennäköisesti tältä: (Tämä on Laravelish-esimerkki):
//HTML
//JS
var handleClick = function(event) {
axios.get("/endpoint, {
params: {ID: 1234}
})
.then(function(response) {
});
};
//PHP
namespace \App\Http\Controlllers;
use \App\Thing;
use \App\Http\Controllers\Controller;
class ThingController extends Controller
{
public function show($id)
{
return Thing::find($id);
}
}
?>
Tämä käynnistää HTTP-pyynnön backendille osoitteessa / endpoint, jonka reitittimen tulisi reitittää `` ThingController @ show -menetelmään, joka palauttaa tietokannasta ladatut tiedot tai mitä tahansa tietoja, joiden haluat sen välittävän. / p>
Tämä palauttaa puhelun tiedot, jotka JS käsittelee, kuten pidät sopivana.