I have a php page with two hyperlinks. I one to send email to certain addresses and the other to also send emails to another address and also delete their records from the database.

I don't want a case where the user accidentally clicks on the link takes the wrong action.

i thougth about javascript confirm function. so i tried combining the javascript confirm function and php but i don't seem to get the two working.

i need the results from the confirm function which is either true or false so i can take appropriate action.

Is there an alternative?does php provide similar alert functions? i really need help.

In short you can't. But it's very easy to get the same confirmation that you would with a alert box.

1. Pass ID/Email of record along with the delete command, easiest to use a URL

e.g.

<a href="confirm_delete.php?id=<idofemailrecord>">Delete Me</a>

2. On your confirm_delete.php page create two URLs yes or no

e.g.

Are you sure you want to delete:
<br>
<a href="delete.php?confirm=yes&id=".$_GET[id].">Yes</a>
<a href="delete.php?confirm=no&id=".$_GET[id].">No</a>

Then on the delete.php page you have some like the following:

if ( $_GET[confirm] == "yes" )
{
     mysql_query( "DELETE FROM table WHERE id= '".$_GET[id]."'" );
} else if ( $_GET[confirm] == "no" )
{
    header( "location: http://www.yourhomepage.com");
}

Of course this is extremely basic. You would really want to check the variables $_GET[confirm] and $_GET[id] to make sure a hacker wasn't trying to do a sql injection attack on your form. But that's for another discussion. Hope that helps.

Maybe you can use:
<?php echo '<script language="javascript">confirm("Do you want this?")</script>;'; ?>
//Khanobly

I have a php page with two hyperlinks. I one to send email to certain addresses and the other to also send emails to another address and also delete their records from the database.

I don't want a case where the user accidentally clicks on the link takes the wrong action.

i thougth about javascript confirm function. so i tried combining the javascript confirm function and php but i don't seem to get the two working.

i need the results from the confirm function which is either true or false so i can take appropriate action.

Is there an alternative?does php provide similar alert functions? i really need help.

I have a php page with two hyperlinks. I one to send email to certain addresses and the other to also send emails to another address and also delete their records from the database.

I don't want a case where the user accidentally clicks on the link takes the wrong action.

i thougth about javascript confirm function. so i tried combining the javascript confirm function and php but i don't seem to get the two working.

i need the results from the confirm function which is either true or false so i can take appropriate action.

Is there an alternative?does php provide similar alert functions? i really need help.

Javascript is client side (executes on the browser) and PHP is server side (executes on the server).
The confirm box is a function on the browser, so you cannot create a browser confirm box with php unless you use PHP to write out some javascript that will be executed on the browser to display your cofnirm box. (see khanobly's reply)

The only way you can communicate with the php on the server side via javascript is to send the server a new HTTP request (a new page). (exception being xmlHTTPRequest).

In your case, the confirmation box should work just like a normal click on a link (you dont need the javascript to communicate with the php).

eg:

<a href="task.php?option=delete">Delete</a>

Lets say the above will invoke the php script task.php and let it know you want to delete something from the database.

We can use javascript to make sure the user doesn't delete by accident.

<a href="task.php?option=delete" onclick="return (confirm('do you really want to delete the stuff?'));>Delete</a>

When the user clicks the link, the onclick event handler in javascript is triggered. The onclick handler overides the loading of the url in the href attribute but if the onclick function returns true (or null) the browser will then load the url in the href attribute. If the onclick function returns false the url will not load.

confirm, returns true or false depending on what the user chooses (yes|no). So we just return the return from the confirm function to the onclick event trigger and thus the link will be followed or not depending on the users choice.

Comments
Good answer. Clever use of Javascript to simplify the process. I've copied an extract into my personal Tricks and Tips file.

Thank digital-ether for this part: onclick="return (confirm('do you really want to delete the stuff?'))

Tried it with a submit button in a form and it even works here. Perfect. Just what I was looking for.

I'm sorry! please ignore me... A lot of times I asked questions too fast before figuring it out... Great help! thanks for the codes!

Edited 7 Years Ago by AdventDeo: n/a

Good solution digital-ether >>>>> This is the way to show confirmation message before delete ..... I use this in web development .

This article has been dead for over six months. Start a new discussion instead.