如何使用onclick事件将Javascript变量传入PHP
我试图将一个javascript变量传递给PHP,以便创建一个(MySQL)查询来返回单个记录。用户将输入一个搜索字符串,该字符串将返回任何包含匹配字符串的记录。然后用户将选择要查看的单个记录 这是我的HTML(recipe_summary.php): 下面是recipe_result.php:如何使用onclick事件将Javascript变量传入PHP,javascript,php,ajax,Javascript,Php,Ajax,我试图将一个javascript变量传递给PHP,以便创建一个(MySQL)查询来返回单个记录。用户将输入一个搜索字符串,该字符串将返回任何包含匹配字符串的记录。然后用户将选择要查看的单个记录 这是我的HTML(recipe_summary.php): 下面是recipe_result.php: <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Unt
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<?php
if(isset($_POST['recipe_id'])){
echo "SET";
} else {
echo "NOT SET";
}
?>
<div id="status"></div>
</body>
</html>
无标题文件
用户将单击锚定标记(recipe_summary.php),它将在script.js上触发一个click事件,该事件将存储recipe_ID(这就是我丢失的地方),并将其传递给ajax_post()。在这里,我试图将存储的变量作为一个php变量发送到'recipe_result.php',然后在MySQL中使用该变量仅返回所选记录
在recipe\u result.php$\u POST上,没有设置['recipe\u id'],因此我不确定我的错误在哪里
我不熟悉ajax,但从我所读到的内容来看,ajax似乎是解决方案。我看过很多教程(ajax_post()中的所有内容都来自我试图学习的教程),但通常它们都是从HTML表单开始,然后将结果写入同一页面。您的代码看起来不错,只需像这样阅读php中的
recipe_id
echo $_POST['recipe_id'];
另请查看
$\u POST
variablerecipe\u result.php的内容是什么?目前没有任何内容;我不知道你写了什么,我不明白问题出在哪里。你有一些密码。看起来它应该按照你的要求做。你还没有说当你运行它时会发生什么。您还没有引用来自开发人员工具控制台的任何错误消息。您没有描述在开发人员工具的“网络”选项卡中可见的请求和响应中的任何问题。那么…你在问什么?“在recipe\u result.php$\u POST上,['recipe\u id']没有被设置,所以我不确定我的错误在哪里。”-那么,发生了什么?PHP源代码是否显示在响应中?是否总是回显未设置?源代码未显示;仅显示“未设置”。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<?php
if(isset($_POST['recipe_id'])){
echo "SET";
} else {
echo "NOT SET";
}
?>
<div id="status"></div>
</body>
</html>
echo $_POST['recipe_id'];