Php 未添加到数据库中的元素

Php 未添加到数据库中的元素,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

我正在创建一个项目规划师,它的工作原理与购物清单非常相似,在客户端一切正常;但是,当我尝试向数据库添加新的附加元素时,它不起作用。其他所有内容都会添加到数据库中,如id和日期,但不包括创建的新元素,我将其保存为文本。php给我的错误是$\u POST[elem]没有值

Jquery/Ajax

$(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);
      
      ?>