我继承了一些代码,这些代码接受用户的输入,并将其添加到同一实例上托管的 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 服务器访问权限,但似乎没有什么影响该行为。我做错了什么?
最佳答案
我不确定你的Ajax是如何设置的,但是使用PHP将DOM中变量的值放入你的Ajax使用中对我来说似乎很奇怪。通常您会使用 Javascript 选择该值。但你的问题是你已经将 PHP 调用插入到数据库中。当您在不支持 PHP 的页面(例如 HTML 文件或外部 Javascript)上调用 PHP 函数时,通常会发生这种情况。
关于php - 如何将变量内容输入到数据库中而不是 <?php echo $variable; ?>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19351428/