我已经尝试了数字解决方案,但无法弄清楚我做错了什么。
我有以下输入元素:
<input type="checkbox" data-layout="fixed" class="pull-right" value="1">
就在我结束 body 标签之前,我有以下 jquery
<script>
$("input[type='checkbox']").on('click', function(){
var checked = $(this).attr('checked');
if(checked){
var value = $(this).val();
$.post('mysqlfunc.php', { value:value }, function(data){
if(data == 1){
}
});
}
});
</script>
在 mysqlfunc.php 文件中我有
<?php
include "../../inc/config.php";
include "../../inc/funcs.php";
@mysql_connect($dbhost,$dbuser,$dbpass);
@mysql_select_db($dbname) or die( "Unable to select database");
include "../../inc/userauth.php";
if ($_POST && isset($_POST['value'])) {
$value = mysql_real_escape_string($_POST['value']);
$sql = "UPDATE members SET fixed = '".$value."' WHERE username='".$_SESSION['uid']."'";
} else {
}
?>
我的期望是,当我单击输入复选框时,值“1”将保存到“固定”列中的“成员”表中,其中用户名等于 session uid。
我可以回显 uid,这样就可以了。它没有给出任何错误,所以它似乎连接到数据库。然而检查输入文本框,并没有改变数据库中的值。
我没有收到任何 js 错误,也没有收到 php 错误,只是没有保存。
我做错了什么?如果可能的话,示例工作代码将非常有帮助。
最佳答案
您脚本中的这一行是错误的。
var checked = $(this).attr('checked');
改成
var checked = $(this).is(':checked')
关于javascript - 如何使用 jquery 和 php 将表单数据保存到 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33251762/