gpt4 book ai didi

php - 使用 jQuery 在 mySQL 库中存储基本文本字符串?

转载 作者:行者123 更新时间:2023-12-02 20:38:57 25 4
gpt4 key购买 nike

有人能给我指出正确的方向吗?基本上,我有这个 jQuery 代码片段:

$('.bggallery_images').click(function () {
var newBG = "url('" + $(this).attr('src');
var fullpath = $(this).attr('src');
var filename = fullpath.replace('img/Bakgrunner/', '');

$('#wrapper').css('background-image', newBG);

// Lagre til SQL
$.ajax({
url: "save_to_db.php",
// The url to your function to handle saving to the db
data: filename,
dataType: 'Text',
type: 'POST',
// Could also use GET if you prefer
success: function (data) {
// Just for testing purposes.
alert('Background changed to: ' + data);
}

});

});

当我单击某个按钮时,它就会运行。所以它实际上是在一个点击处理程序中。

如果我理解正确的话,这个片段会获取我刚刚单击的图像的源代码并将其剥离,这样我最终只得到文件名。如果我执行警报(文件名),我只会得到文件名。所以这工作正常。

然后,它对名为“save_to_db.php”的 php 文件执行 ajax 调用并发送数据:文件名。这是正确的吗?然后,它执行一个回调,该回调执行警报 + 数据。

到目前为止这看起来正确吗?

因为我的 php 文件如下所示:

<?php
require("dbconnect2.php");
$uploadstring = $_POST['filename'];
$sessionid = $_SESSION['id'];
echo ($sessionid);
mysql_query("UPDATE brukere SET brukerBakgrunn = '$uploadstring' WHERE brukerID=" .$_SESSION['id']);
mysql_close();
?>

当我单击图像时,jQuery 代码片段会触发,并且我会得到此 php 文件的结果作为警报框的输出。我认为变量在某种程度上是空的。因为请注意 echo($sessionid);这是我创建的一个变量,只是为了测试 session ID 是什么。它什么也没有返回。这里可能出现什么问题?

编辑:我只是尝试回显 $uploadstring 变量,但它也没有返回任何内容。就像 jQuery 代码片段甚至没有将变量传递到 php 文件?

最佳答案

您试图发送文件名,但您正在 PHP 代码中检索命名表单字段。因此您需要发送一个命名表单字段:

像这样更改您的 ajax 调用:

$.ajax({
url: "save_to_db.php",
// The url to your function to handle saving to the db
data: {filename: filename}, // <= Change #1 (give jQuery a simple object)
dataType: 'text', // <= Change #2 ('text', not 'Text')
type: 'POST',
// Could also use GET if you prefer
success: function (data) {
// Just for testing purposes.
alert('Background changed to: ' + data);
}

});

您的 PHP 脚本现在将收到一个名为 filename 的 POST 变量,其值来自您的 filename Javascript 变量。 (您也可以使用 $.post 来执行此操作,但无论如何它只是 ajax 的包装器...)

将一个简单的对象传递到 ajax 调用中是将字段发送到服务器的最简单方法。 jQuery 将获取该对象并使用该对象的键和字段名称创建 URL 编码的表单数据(为您完成所有转义)。例如,如果你给它这个对象:

data: {a: 1, b: "testing one two three", c: 3}

...它发送 URL 编码的数据:

a=1&b=testing+one+two+three&c=3

(注意它如何为我们编码。)更多内容请参见 ajax文档(但要注意,目前文档中关于数组处理的说法是错误的;有关详细信息,请参阅 this bug report)。

关于php - 使用 jQuery 在 mySQL 库中存储基本文本字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2801245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com