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?
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...
Follow the hyperlink to a script which executes the logout()
function...
HTML
<a href="theLogOutScript.php">Logout</a>
PHP
<?php
// ...
logout();
// ...
?>
Submit a form to a script which executes the logout()
function...
HTML
<form method="POST" action="theLogOutScript.php">
<input type="submit" value="Logout" />
</form>
Use an XMLHttpRequest
/AJAX request to communicate with the server. (no sample code provided)
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.
<a href ='logout.php'>Logout</a>
logout.php
<?php
session_start();
...... your code....
?>
You didn't specify the format of your document. If your document format is HTML you'll need to load an external file but if it's .php You can do it by setting your function inside a variable like so:
<?php $myLogout = logout();?>
<a href="<?php echo $myLogout; ?>">Logout</a>