javascript - 在 javascript 函数中对数据库执行 php 插入

标签 javascript php

我有一个页面 home.php,其中有一个按钮“UPDATE”。
1. 'UPDATE' 的 onclick 函数应该调用 javascript 函数 'write()'。
2. 'write()' 函数获取用户名和值 - 均来自 session (此处使用 php)并将其写入数据库。

代码如下: home.php

<html>
<head>
  <title> Sample Page </title>
</head>

<body>

<script>

function write(){
  <?php

   include("dbConnect.php"); // connection works perfectly with other php files
   // gets 'latestValue' from session variable
   // gets 'username' from session variable
   // updates 'patients' table with the latestValue, against the username
   $query = "UPDATE patients SET lastLDNId = '$_SESSION[latestValue]' WHERE username='$_SESSION[username]'";
   $result = mysqli_query($con,  $query);

  ?>
}

</script>

<input type="button" onclick="write()" value="UPDATE">

</body>
</html>

当我运行代码并通过检查元素进行检查时,我在函数 write() 中收到以下错误,因为浏览器会解释它

function writeLDN(lDNId){
  <br />
<b>Notice</b>:  Undefined index: latestValue in     <b>C:\xampp\htdocs\MedPhil\home.php</b> on line <b>98</b><br />
}

当我删除 javascript 函数中的 php 部分时,不会生成上述错误,这意味着无法按照我使用的方式使用 php。

除了使用 php 回显整个脚本内容之外,谁能给我一个解决方案?

提前致谢

最佳答案

很抱歉,您对服务器端代码与客户端代码存在严重误解。在您的技术堆栈中,PHP 仅在服务器上执行,并且仅在请求页面时执行一次,而 JavaScript 仅在客户端且仅在该处执行。

因此您尝试从 javascript 中“调用”php 是行不通的。 这是处理的顺序:

  1. 服务器看到你的<?php标记标记并执行其中的 php 代码,将其替换为 php 代码的结果,在本例中为错误消息。
  2. 页面被传送到浏览器(客户端)
  3. 浏览器尝试执行 JavaScript 代码,这只是一个 php 错误消息,换句话说就是垃圾。

关于javascript - 在 javascript 函数中对数据库执行 php 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42152359/

相关文章:

php - 如何获取任何地址的经度和纬度?

javascript - 从函数对象调用 jQuery 方法没有效果

javascript - 找到某些/特定的换行符,同时忽略其他换行符

javascript - Jqplot 中两个系列数据的不同颜色条

php - 将图像放入 foreach 循环中的行

php - 未找到 GTFS MySQL 查询列

php - 在 WooCommerce 中使用自定义添加到购物车 () 添加两个不同的产品

javascript - 使用 window.onload 超过 1 次

javascript - Mustache.render() 和 Mustache.to_html() 有什么区别?

php - 通过php文件基于数据实时ajax数据