Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP依赖于Javascript函数_Javascript_Php_Html_Mysql_Function - Fatal编程技术网

PHP依赖于Javascript函数

PHP依赖于Javascript函数,javascript,php,html,mysql,function,Javascript,Php,Html,Mysql,Function,我正在编写一个php/html页面,其中包含一些javascript函数 如果我的一个javascript函数的结果等于1,我想在我的MySQL数据库上执行INSERT 01)如何在PHP代码中访问此javascript函数的结果 02)当执行此函数时,我可以设置HTML文本表单的值,但当我尝试通过$\u get['value']获取此值时,我会得到“Undefined index”。有什么建议吗 提前谢谢 <!DOCTYPE html> <html> <head&

我正在编写一个php/html页面,其中包含一些javascript函数

如果我的一个javascript函数的结果等于1,我想在我的MySQL数据库上执行INSERT

01)如何在PHP代码中访问此javascript函数的结果

02)当执行此函数时,我可以设置HTML文本表单的值,但当我尝试通过$\u get['value']获取此值时,我会得到“Undefined index”。有什么建议吗

提前谢谢

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <script language="javascript">
        function function2( a, b, c, d, e, f, g, h)
        {
            //calculations here
            var elem = document.getElementById("result");
            elem.value = result;    
            return result;
        }

        function function1 ()
        {
            //set values of form1
            function2();
        }  
    </script>  
</head>
<body>
    <script>
        window.onload = function() 
        {
            function1();
        }    
    </script>     

    <?php 
        //MySQL to get a, b, c, d, e, f values
    ?>

    <form name="form1" id="form1" method="get">
        <input type="hidden" name="g" value=""> </input>
        <input type="hidden" name="h" value=""> </input>
    </form>

    <form name="form2" id="form2" method="get">
        <input type="text" name="a" value="<?php echo $a; ?>"> </input>
        //same to b, c, d, e, f
        <input type="text" id='result' name="result" value="0"> </input>
    </form>

    <?php
        //perform MySQL operation if function2 == 1
        //or if $_GET['result'] == 1
    ?>
</body>
</html>

功能2(a、b、c、d、e、f、g、h)
{
//这里的计算
var elem=document.getElementById(“结果”);
元素值=结果;
返回结果;
}
功能1()
{
//设置form1的值
函数2();
}  
window.onload=函数()
{
功能1();
}    
如果您选择了“未定义”,那么php部分可能正在工作-
结果
看起来它实际上可能是未定义的

试一试

我还认为,您可能还希望您的“GET”可以查看
GET['g']
GET['h']
表单1上隐藏输入的名称

函数1是否将a、b、c等传递给
function2()
,因为它的
()
看起来是空的

第二个想法-您可以尝试提交到另一个处理页面 -GET需要从urlencoded查询字符串中获取数据

因此,您可以在表单顶部添加一个操作,指向处理页面
action=“processing.php
,并在表单底部添加一个提交按钮,然后将所有php处理部分放在一个名为processing.php的页面中,该页面会对MySQL进行处理,以将结果放回数据库。当然,这是经过适当清理的

   <?php
   //perform MySQL operation if function2 == 1
   //or if $_GET['result'] == 1
   ?>

与您想要使用的任何html一起显示该过程是否成功


如果您不需要按钮,您可以将表单制作成一个
method=“POST”
表单,并在最后一个函数完成后使用JavaScript
submit()
提交表单。这样也会更安全一些。您需要查找
$\u POST['result']
而不是
$\u GET['result']
根据上面的其他评论。我也认为您可以用一个表单来管理所有这些。

尝试使用
AJAX
。您得到的错误意味着
$\u GET
中的键
值未在
PHP
代码中设置。您需要。对于第二个问题,您确定要提交表单吗h GET方法而不是POST方法?如果您是通过
POST
提交的,则需要使用
$\u POST
访问表单值。但无论如何,在尝试访问值之前,您应该使用
isset()
检查是否设置了索引。
   <?php
   //perform MySQL operation if function2 == 1
   //or if $_GET['result'] == 1
   ?>