将JavaScript的值传递给PHP变量。

20 浏览
0 Comments

将JavaScript的值传递给PHP变量。

我试图将JavaScript变量作为PHP变量包含到PHP代码中,但我遇到了问题。当点击按钮时,会调用以下函数:


这种做法可行吗?

0
0 Comments

在这个问题中,问题出现的原因是PHP是在服务器端运行的,而JavaScript是在用户请求页面的浏览器中运行的。当JavaScript被执行时,根本无法访问服务器端的PHP。简而言之,发生的情况如下:

  • 您在您的电脑上的浏览器中点击一个链接
  • 浏览器创建一个HTTP请求并将其发送到互联网上的服务器
  • 服务器检查是否能够处理该请求
  • 如果请求是针对一个PHP页面的,那么PHP解释器会启动
  • PHP解释器将运行您请求的页面中的所有PHP代码
  • PHP解释器不会运行任何JS代码,因为它对此一无所知
  • 服务器将由解释器组装好的页面发送回您的浏览器
  • 您的浏览器将渲染页面并显示给您
  • JavaScript在您的计算机上执行

在您的情况下,PHP将JS代码写入页面中,以便在页面在浏览器中渲染时执行。但是在此时,您JS代码片段中的PHP部分已经不存在了。它已经在服务器上执行过了。它创建了一个包含SQL查询字符串的变量$result。但是您没有使用它,所以当页面被发送回您的浏览器时,它就消失了。当页面在浏览器中渲染时,查看源代码,您会发现在您放置PHP代码的位置上什么都没有。

想要实现您要做的事情,唯一的方法是:

  • 重定向到一个PHP脚本,或者
  • 使用AJAX调用一个PHP脚本

并将要插入到数据库中的值传递给它们。

0
0 Comments

将javascript的值传递给PHP变量是一个常见的需求,但是在给出的示例中,存在一些问题。首先,在PHP代码中,尝试将一个JavaScript变量直接赋值给PHP变量是不可行的。其次,使用`document.write`将JavaScript值输出到PHP变量也是错误的。

解决这个问题的方法是通过使用AJAX将JavaScript值发送到服务器,并在服务器端使用PHP来接收该值。以下是解决方法的示例代码:

JavaScript代码:

var jvalue = 'this is javascript value';
// 使用AJAX将JavaScript值发送到服务器
var xhr = new XMLHttpRequest();
xhr.open("POST", "server.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText);
  }
};
xhr.send("jvalue=" + jvalue);

PHP代码(server.php):


通过将JavaScript值发送到服务器,然后在服务器端使用PHP接收和处理该值,我们可以实现将JavaScript值传递给PHP变量的目的。

0
0 Comments

问题的原因是:混淆了客户端代码和服务器端代码。当点击按钮时,需要将变量发送到服务器,在服务器上执行PHP代码。可以通过提交页面或使用ajax调用仅提交数据来实现。

解决方法是:使用表单提交页面或使用ajax调用来将JavaScript的值传递给PHP变量。下面是两种解决方法的示例代码。

1. 使用表单提交页面:

HTML代码:

JavaScript代码:

document.getElementById("yourVariable").value = yourJavaScriptValue;

PHP代码(your-php-file.php):

$yourVariable = $_POST['yourVariable'];
// 使用$yourVariable进行后续操作

2. 使用ajax调用:

JavaScript代码:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    // 可以在这里处理服务器返回的响应
  }
};
xmlhttp.open("GET", "your-php-file.php?yourVariable=" + yourJavaScriptValue, true);
xmlhttp.send();

PHP代码(your-php-file.php):

$yourVariable = $_GET['yourVariable'];
// 使用$yourVariable进行后续操作

以上是将JavaScript值传递给PHP变量的两种常见解决方法。无论是通过表单提交页面还是使用ajax调用,都可以在服务器端使用传递的值进行后续操作。

0