Php 未添加到数据库中的元素
我正在创建一个项目规划师,它的工作原理与购物清单非常相似,在客户端一切正常;但是,当我尝试向数据库添加新的附加元素时,它不起作用。其他所有内容都会添加到数据库中,如id和日期,但不包括创建的新元素,我将其保存为文本。php给我的错误是$\u POST[elem]没有值 Jquery/AjaxPhp 未添加到数据库中的元素,php,jquery,html,mysql,ajax,Php,Jquery,Html,Mysql,Ajax,我正在创建一个项目规划师,它的工作原理与购物清单非常相似,在客户端一切正常;但是,当我尝试向数据库添加新的附加元素时,它不起作用。其他所有内容都会添加到数据库中,如id和日期,但不包括创建的新元素,我将其保存为文本。php给我的错误是$\u POST[elem]没有值 Jquery/Ajax $(document).ready(function(){ // GLOABL VARIABLES var project = ""; var div = ""; var cate
$(document).ready(function(){
// GLOABL VARIABLES
var project = "";
var div = "";
var categoryDiv = "";
var category = "";
// Adding a project
$('.project-btn').click(function(e){
e.preventDefault();
//grab the user input for the new project
var project = $('.project-val').val();
//Add the project to the list
$('<li></li>').addClass(project).appendTo('.project-list');
$('<a></a>').attr("href",project).text(project).appendTo('li.'+project);
// create the div where the categories will go
$('<div></div>').attr("id",project).appendTo('.category-wrapper');
// hide the div untill it is called upon
$('div#'+project).fadeOut(function(){
$('<h1></h1>').text(project).css("text-align","center").appendTo('div#'+project);
// add the input for the category div
$('<input>').attr("type","text").addClass('category-val').appendTo('div#'+project);
$('<input>').attr("type","submit").attr("value","Add Category").addClass("category-btn").appendTo('div#'+project);
// add the back button
$('<p></p>').text("back").addClass('category-back').css("cursor","pointer").appendTo('div#'+project);
// add the ul
$('<ul></ul>').attr("class","category-list").appendTo('div#'+project);
});
// clear the input search
$('.project-val').val('');
// add to the database
var elem={};
elem ='<li class="'+project+'">'+project+'</li>';
$.ajax({
url: 'project_list.php',
data: elem,
type: 'POST',
success: function(response)
{
alert("success");
}
});//end of ajax call
});
});
$(文档).ready(函数(){
//GLOABL变量
var项目=”;
var div=“”;
var categoryDiv=“”;
var类别=”;
//添加项目
$('.project btn')。单击(函数(e){
e、 预防默认值();
//获取新项目的用户输入
var project=$('.project val').val();
//将项目添加到列表中
$(').addClass(project).appendTo('.project list');
$('').attr(“href”,project).text(project).appendTo('li.'+project);
//创建类别所在的div
$('').attr(“id”,project).appendTo('.category wrapper');
//隐藏div直到调用它
$('div#'+项目).fadeOut(函数(){
$('').text(project.css(“文本对齐”、“居中”).appendTo('div#'+项目);
//为category div添加输入
$('').attr(“type”,“text”).addClass(“category-val”).appendTo(“div#”+项目);
$('').attr(“类型”、“提交”).attr(“值”、“添加类别”).addClass(“类别btn”).appendTo(“div#”+项目);
//添加后退按钮
$(“”).text(“back”).addClass(“category-back”).css(“游标”、“指针”).appendTo('div#'+项目);
//添加ul
$(“
”).attr(“类别”、“类别列表”).appendTo('div#“+项目);
});
//清除输入搜索
$('.project val').val('');
//添加到数据库中
var elem={};
元素=““+project+” ”;
$.ajax({
url:'project_list.php',
资料来源:elem,
键入:“POST”,
成功:功能(响应)
{
警惕(“成功”);
}
});//ajax调用结束
});
});
PHP:
数据必须是“elem=“+elem”
您的代码也容易受到SQL注入的攻击,请检查以下内容以防止它们:@Fred ii-thxs但这不是我真正的问题。问题是php说elem变量为空。我删除了我的注释,意识到这不是您需要的。谢谢您这么说应该是这样的$字符串=$_POST['“elem=“+elem'];否-在您的Ajax请求中,按如下方式执行:data:“elem=“+elemyou我的朋友是一个伟大的人
<?php
include 'inc/connect.php';
$string = $_POST['elem'];
mysqli_query($con, "INSERT INTO `project_list` (string) VALUES ('$string')");
mysqli_close($con);
?>