是否可以通过单击链接来触发 PHP 函数?还是我应该坚持使用表单提交方法?如果点击链接有效,链接应该指向哪里?
这是一个示例代码:
<?php
session_start();
function listMe($username){
$username = mysql_real_escape_string($username);
$query = mysql_query("INSERT INTO List (Usernames) VALUES ('$username')") or die(mysql_error());
}
?>
<html>
<head>
<title>SAMPLE</title>
</head>
<body>
<a href="**__???___**">Add my username to the list</a>
<?php
listMe($_SESSION['Username']);
?>
</body>
</html>
也许有人可以为我指明正确的方向。谢谢!
最佳答案
您可以通过使用表单提交重新加载整个页面,或将特定页面内容直接加载到页面中而不需要从一个页面转到另一个页面来实现。第二种方法称为“AJAX”(异步 Javascript 和 XML)。这里有两个示例,每个示例都指定了一个。
表单提交方式
表单.php
<?php
function get_users(){
}
if(isset($_GET['get_users']))
{
get_users();
}
?>
...
<form method="get">
<input type="hidden" name="get_users">
<input type="submit">
</form>
AJAX 方法
ajax_file.php
<?php
function call_me(){
// your php code
}
call_me();
?>
form.html
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
// do something if the page loaded successfully
}
}
xmlhttp.open("GET","ajax_file.php",true);
xmlhttp.send();
}
</script>
</head>
<body>
<a href="#" onclick="loadXMLDoc()">click to call function</a>
</body>
</html>
关于php - 通过点击 HTML 链接触发 PHP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8662535/