如何使用onclick事件将Javascript变量传入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

我试图将一个javascript变量传递给PHP,以便创建一个(MySQL)查询来返回单个记录。用户将输入一个搜索字符串,该字符串将返回任何包含匹配字符串的记录。然后用户将选择要查看的单个记录

这是我的HTML(recipe_summary.php):

下面是recipe_result.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>

无标题文件
用户将单击锚定标记(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
variable

recipe\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'];