Dynadot

Executing a php function with onClick

Spaceship Spaceship
Watch
Impact
0
I have a bit of a problem and I cant figure it out. I want to execute a php function when a link is clicked. I have tried to do this by using the code below. But every time a load the page containing the link it executes the function, instead of executing only when it is clicked.

PHP:
echo "<a href='login.php' onClick=".logOut()."><img src=icon/exit.gif border='0'><br>Log Out</a>";

Function code which is used to destory the session.

PHP:
function logOut(){
	session_unset();
	session_destroy();
}

Any help would be great!!
 
0
•••
The views expressed on this page by users and staff are their own, not those of NamePros.
I don't think there is any way to call a PHP function from JavaScript like that because PHP doesn't run from the browser like JavaScript does.

Something like this may work for you:
PHP:
 $action = $HTTP_GET_VARS['action'];

  function logOut(){
    session_unset(); 
    session_destroy(); 
  }
    
  if ($action == 'logout') {
    logOut();
  }
  
  <a href="login.php?action=logout">logout</a>
 
0
•••
Thanks, though so. Nice ideas though dead.
 
0
•••
Yea you don't really need to put that code in a function, but I think that's about how you would go about it. And the reason the way you were trying to do it won't work is because all PHP code will have already been executed and removed from the source by the time it gets to the browser, so there's no way to trigger a PHP function from an html event like that.
 
0
•••
  • The sidebar remains visible by scrolling at a speed relative to the page’s height.
Back