Execute PHP function with onclick Execute PHP function with onclick php php

Execute PHP function with onclick


First, understand that you have three languages working together:

  • PHP: It only runs by the server and responds to requests like clicking on a link (GET) or submitting a form (POST).

  • HTML & JavaScript: It only runs in someone's browser (excluding NodeJS).

I'm assuming your file looks something like:

<!DOCTYPE HTML><html><?php  function runMyFunction() {    echo 'I just ran a php function';  }  if (isset($_GET['hello'])) {    runMyFunction();  }?>Hello there!<a href='index.php?hello=true'>Run PHP Function</a></html>

Because PHP only responds to requests (GET, POST, PUT, PATCH, and DELETE via $_REQUEST), this is how you have to run a PHP function even though they're in the same file. This gives you a level of security, "Should I run this script for this user or not?".

If you don't want to refresh the page, you can make a request to PHP without refreshing via a method called Asynchronous JavaScript and XML (AJAX).

That is something you can look up on YouTube though. Just search "jquery ajax"

I recommend Laravel to anyone new to start off right: http://laravel.com/


In javascript, make an ajax function,

function myAjax() {      $.ajax({           type: "POST",           url: 'your_url/ajax.php',           data:{action:'call_this'},           success:function(html) {             alert(html);           }      }); }

Then call from html,

<a href="" onclick="myAjax()" class="deletebtn">Delete</a>

And in your ajax.php,

if($_POST['action'] == 'call_this') {  // call removeday() here}


You will have to do this via AJAX. I HEAVILY reccommend you use jQuery to make this easier for you....

$("#idOfElement").on('click', function(){    $.ajax({       url: 'pathToPhpFile.php',       dataType: 'json',       success: function(data){            //data returned from php       }    });)};

http://api.jquery.com/jQuery.ajax/