我继承了一些接受用户输入的代码,并将其添加到托管在同一实例上的MySQL数据库中的单元格中。然而,它不应该如何工作。
预期行为:当用户单击链接时,他们的输入将添加到MySQL中的表中。
目前实际发生的事情:此代码显示在单元格中而不是实际数据中:<?php echo $user_email; ?>
函数调用如下所示:
function dibs(item_id)
{
ajax_it("index.php?email=<?php echo $user_email; ?>&item=" + item_id, dibs_complete, dibs_fail);
}
函数ajax_it是:
function ajax_it(request, ready_func, fail_func)
{
var xmlhttp;
if (window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest();
else
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
ready_func(xmlhttp);
}
else
{
fail_func(xmlhttp);
}
};
xmlhttp.open("GET", request, true);
xmlhttp.send();
}
输入收集如下:
<form action="#" method="GET">
<input name="email"></input>
<input name="category" type="hidden" value="<?php echo $_GET["category"]; ?>" />
<input type="submit" value="Go" />
</form>
我尝试过更改javascript的权限,SQL服务器访问权限似乎没有任何影响行为。我做错了什么?
答案 0 :(得分:0)
我不确定你的Ajax是如何设置的,但是使用PHP将DOM中的变量值放入Ajax使用中似乎很奇怪。通常你会使用Javascript选择该值。但是你的问题是你已经在数据库中插入了PHP调用。当您在不支持它的页面上调用PHP函数时(例如HTML文件或外部Javascript),通常会发生这种情况。
答案 1 :(得分:0)
已修复 - 语法错误。显然JS不喜欢“很多