我有一个页面 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 是行不通的。 这是处理的顺序:
- 服务器看到你的
<?php
标记标记并执行其中的 php 代码,将其替换为 php 代码的结果,在本例中为错误消息。 - 页面被传送到浏览器(客户端)
- 浏览器尝试执行 JavaScript 代码,这只是一个 php 错误消息,换句话说就是垃圾。
关于javascript - 在 javascript 函数中对数据库执行 php 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42152359/