当前位置: 首页 > 知识库问答 >
问题:

如何发送javascript变量PHP mysql[复制]

焦阎宝
2023-03-14

我试图插入javascript varaible到php mysql,但它不是插入。

我该怎么办?

<?php
$width = " <script>document.write(window.outerWidth); </script>";
$height = " <script>document.write(window.outerHeight); </script>";
$xex = " x ";
$resulteee = "$width $xex $height";
echo $resulteee;
?>

共有3个答案

颜河
2023-03-14

您必须将其发送到一个单独的php文件,以将其插入MySQL。。。您还必须使用Ajax。为此,在页面中包含jquery插件。

所以这会包括在你的主页上。按下按钮时调用submitstuff()函数,而不是像普通的那样提交表单:

<script>
function submitstuff(){
    var wheight = window.outerHeight;
    var wwidth = window.outerWidth;
    var results = wwidth+" x "+wheight; 
    $.ajax({
    url : "submit.php",
    type: "POST",
    data : "result="+results,
    });
}
</script>

然后,创建一个名为submit的文件。并将其与主文件放在同一文件夹中。

submit.php

/* include all your database connection stuff */

mysql_query("insert into `yourtable` (`size`) values ('".$_POST['result']."');");

我没有测试这个,但我认为它可能工作...:)

柴昆杰
2023-03-14

最好的方法是AJAX,这是Javascript向PHP脚本发送数据的一种方法。你应该自己做一些研究,但你的解决方案最终会是这样的。我使用的是jQuery语法,这是一个非常有用的Javascript库,我建议您研究一下。

// get values we want
var width = window.outerWidth;
var height = window.outerHeight;
var payload = {"width" : width, "height" : height}; // just a normal object

// send them to server
$.get('/path/to/script.php', payload, function(response) {
    alert('Sent the values!');
});

在您的PHP中:

<?php
$width = $_GET['width'];
$height = $_GET['height];

/*
 * DEFINITELY sanitize these things before they're anywhere NEAR the database!
 * research "prepared statements" and "mysqli escape" or you are going to have a very bad time with a hacked server
 */

// do some database stuff!

希望这能给你一个好的起点。在盲目地让数据触及数据库查询之前,您真的需要确保对数据进行清理,否则攻击者可以轻松执行SQL注入攻击、删除数据库或倾倒所有数据。这些都是非常糟糕的事情。

鲜于岳
2023-03-14

AJAX是解决您问题的好方法

<script type="text/javascript">
     function call_ajax () {
           var width = window.outerWidth;
           var height = window.outerHeight;

           var xmlhttp = new XMLHttpRequest();

           xmlhttp.onreadystatechange = function() {
                 if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                     document.getElementById("abc").innerHTML = xmlhttp.responseText;
                 }
             }
             xmlhttp.open("POST", "a.php?height="+height+"width="+width, true);
             xmlhttp.send();
        }
    </script>

在a.php页面上,您可以回送变量以获得如下输出:

<?php
echo $_POST['height'];
echo $_POST['width'];
die;
 类似资料:
  • 问题内容: 首先,我认为必须将JavaScript转换为PHP,但是后来发现,由于服务器和客户端的执行,我无法这样做。所以现在我只想发送一个变量 到一个PHP变量 假设我单击一个按钮,就会执行JavaScript中的该函数。 现在,我不知道如何将phpvariable分配给JavaScript,以便使用phpvariable在数据库中查找内容。我知道我可以将其添加到URL或某些内容中并刷新页面,但

  • 问题内容: 首先,我认为我必须将JavaScript转换为PHP,但是后来我发现,由于服务器和客户端的执行,我不能。所以现在我只想发送一个变量 到一个PHP变量 假设我单击一个按钮,就会执行JavaScript中的该函数。 现在,我不知道如何将phpvariable分配给JavaScript,以便使用phpvariable在数据库中查找内容。我知道我可以将其添加到URL或其他内容中并刷新页面,但是

  • 问题内容: 我正在尝试将JavaScript变量作为PHP变量包含在PHP代码中,但是这样做有问题。单击按钮时,将调用以下功能: 可能吗? 问题答案: PHP在服务器端运行。JavaScript在请求页面的用户的浏览器中在客户端运行。到执行JavaScript时,服务器上都无法访问PHP。请阅读本文,了解有关客户端和服务器端编码的详细信息。 简而言之,这是什么: 您在办公桌下方的计算机上的浏览器中

  • 本文向大家介绍如何防止重复的JavaScript变量声明?,包括了如何防止重复的JavaScript变量声明?的使用技巧和注意事项,需要的朋友参考一下 为了防止在JavaScript中重复声明变量,请使用函数表达式包装变量声明: 上面的代码可以防止您的变量与其他变量和函数发生冲突。这不会影响函数外的其他全局变量。 您的变量等级在函数外部是不可见的,因此,为变量编写的任何代码都应在函数内部。

  • 问题内容: 这个问题已经在这里有了答案 : 在JSP中将Javascript值传递给Java (2个答案) 4年前关闭。 是学习JSP的新手,它尝试在两个页面之间传递数据。 我想知道是否可以将javascript变量传递给 目前,我可以通过2个jsp文件传递文本字符串,如下所示: JSP1: JSP2: 效果很好。 然而,是否有可能通过一个进入呢?我将一些数据存储在javascript变量中,并希

  • 问题内容: 我在Javascript中有一组全局计数器变量: 等等 然后,我有了一个Javascript函数,该函数接受一个映射到这些全局计数器的“索引”数字。在此函数内部,我需要使用传递给该函数的“索引”值来读写这些全局计数器。 我希望它如何工作的示例,但当然根本不起作用: 我希望我要实现的目标是明确的。如果没有,我会尽力澄清。谢谢。 编辑说明: 我不是要增加计数器的名称,而是要增加计数器包含的