Alert message after sql query PHP

I have been on this question for a while now and I just can't seem to find anything that works. First I will explain what my pages do.

The exerciseTest page will list an exercise found in the exercise table. From that page I have a form that will allow the user to add the displayed exercise to the exercise of the month table. They will have the option of picking which month they would like to add it to. Only one exercise per month can be added.

If an exercise is already occupied by the month they have chosen, an alert message will come up asking them if they would like to replace the exercise. I would like it so if the user clicks OK then it will send it to the AddUpdateMonthlyExercise page and it will update. If the user clicks cancel then it will do nothing.

Basically, the alert message must go through a function that checks if the exercise month is in the exercise_of_month table after the user clicks on the add button. If it is not then the exercise will simply be added to the exercise_of_month.

Here I have supplied the exerciseTest page and the AddUpdateMonthlyExercise page.

I'd use AJAX for this. Forcing a page refresh during this operation will be a little unwieldy because PHP pushed into javascript, not the other way around. By using AJAX, you let javascript call a PHP script in the background, return and act on the results, then submit the final information.

With AJAX, a submit button causes the add request to be sent to the server. The server runs PHP to determine if the month is taken. If it is, return a specific error to the calling page. If not, return OK. When the AJAX gets the response, check for the error. If it exists, display an alert box with OK/Cancel. If OK is selected, send a second request to the server with an 'override' option set.

Without AJAX, the client hits the submit button on the form. Your page tries to add, finds the month is taken. Now you have to build the javascript routine to ask the user, and a hidden form to handle reposting the information back to the server. The user clicks OK or Cancel, the javascript sets a form field as appropriate and programmatically triggers a submit.

May have already posted this for you, but just for good measure, here is a sample that shows all the moving parts of what has come to be known as AJAX. Read it over and I am sure it will be clear to you. Even though AJAX is a somewhat advanced concept, the structure is quite straightforward and this is an elegant presentation of the subject.

Best, ~Ray

I find a lot of this AJAX stuff a bit of a hype. Lots of people have
been using similar things long before it became "AJAX". And it really
isn't as complicated as a lot of people make it out to be. Here is a
simple example from one of my apps.
First the Javascript:
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
function sndReq(action) {
http.open('get', 'rpc.php?action='+action);
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse() {
if(http.readyState == 4){
var response = http.responseText;
var update = new Array();
if(response.indexOf('|' != -1)) {
update = response.split('|');
document.getElementById(update[0]).innerHTML = update[1];
}
}
}
This creates a request object along with a send request and handle
response function. So to actually use it, you could include this js in
your page. Then to make one of these backend requests you would tie it
to something. Like an onclick event or a straight href like this:
<a href="javascript:sndReq('foo')">[foo]</a>
That means that when someone clicks on that link what actually happens
is that a backend request to rpc.php?action=foo will be sent.
In rpc.php you might have something like this:
switch($_REQUEST['action']) {
case 'foo':
/ do something /
echo "foo|foo done";
break;
...
}
Now, look at handleResponse. It parses the "foo|foo done" string and
splits it on the '|' and uses whatever is before the '|' as the dom
element id in your page and the part after as the new innerHTML of that
element. That means if you have a div tag like this in your page:
<div id="foo">
</div>
Once you click on that link, that will dynamically be changed to:
<div id="foo">
foo done
</div>
That's all there is to it. Everything else is just building on top of
this. Replacing my simple response "id|text" syntax with a richer XML
format and makine the request much more complicated as well. Before you
blindly install large "AJAX" libraries, have a go at rolling your own
functionality so you know exactly how it works and you only make it as
complicated as you need. Often you don't need much more than what I
have shown here.
Expanding this approach a bit to send multiple parameters in the
request, for example, would be really simple. Something like:
function sndReqArg(action,arg) {
http.open('get', 'rpc.php?action='+action+'&arg='+arg);
http.onreadystatechange = handleResponse;
http.send(null);
}
And your handleResponse can easily be expanded to do much more
interesting things than just replacing the contents of a div.
-Rasmus

Foreword (July, 2015)
Since I first wrote this article, years ago, a great many more people have begun using the internet. They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption. Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…