我正在使用一些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>
答案 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']
。我也认为你可以用一种形式管理所有这些。