PHP取决于Javascript函数

时间:2015-10-31 22:19:52

标签: javascript php html mysql function

我正在使用一些javascript函数对php / html页面进行编码。

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

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

02)执行此函数时,我可以设置HTML文本格式的值,但是当我尝试通过$ _GET ['value']获取此值时,我得到“未定义的索引”。这里有任何消化吗?

提前致谢!

<!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>

1 个答案:

答案 0 :(得分:0)

如果您选择“未定义”,那么php部分可能正在运行 - result看起来可能实际上未定义。

尝试

var result = your results from calculations;

我也认为您也可能希望您的“GET”能够在{1}上查看GET['g']GET['h']隐藏输入的名称

function2()显示为空时,function1是否将a,b,c等传递给()

第二个想法 - 您可能会尝试提交到另一个处理页面 - 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()提交。这样一点也更安全。您需要根据上述其他评论查找$_POST['result']而不是$_GET['result']。我也认为你可以用一种形式管理所有这些。