tags:

views:

158

answers:

3

Is it possible to call a PHP function within an anchor tag. I have a PHP function called logout();

Now I want something similar to this.

<a href="logout();" >Logout</a>

I know with Javascript this works but what is the best approach using PHP function?

+7  A: 

No, in order to call PHP you will have to make a request back to the server. You will either need to link to another PHP page:

<a href="/logout" >Logout</a>

Or you will have to make a JavaScript AJAX call to a PHP page ("web service") that will perform the logout.

Justin Ethier
+1  A: 
<a href ='logout.php'>Logout</a>

logout.php

<?php
  session_start();
  ...... your code....      
?>
a1ex07
+4  A: 

No; PHP is a server side scripting language, so it is inaccessible to the HTML like this. JavaScript can do this, as it is a client-side scripting language.

Since PHP is a server side language, a message (in the form of an HTTP request) must be sent to the server from the browser (the client) for any PHP to be executed - including your PHP function logout.

You have a few options...

Option 1

Follow the hyperlink to a script which executes the logout() function...

HTML

<a href="theLogOutScript.php">Logout</a>

PHP

<?php
   // ...
   logout();
   // ...
?>

Option 2

Submit a form to a script which executes the logout() function...

HTML

<form method="POST" action="theLogOutScript.php">
    <input type="submit" value="Logout" />
</form>

Option 2

Use an XMLHttpRequest/AJAX request to communicate with the server. (no sample code provided)

LeguRi