【问题标题】:How to pass get variable from JavaScript to PHP Mysql using jQuery POST [duplicate]如何使用 jQuery POST 将获取变量从 JavaScript 传递到 PHP Mysql [重复]
【发布时间】:2016-05-10 15:52:53
【问题描述】:

我正在尝试使用从 URL 获取的表名将数据插入到我的数据库中。我使用 phonegap 和 php。我的功能代码如下:

    function create_promo($nom_restaurant,$codeBarre,$designation,$dateDebut,$dateFin,$prix,$TVA,$photo){


      $db=new PDO('mysql:host=localhost;dbname=testf','root','');
      $req=$db->prepare('insert into'.$nom_restaurant.'values(:codeBarre,:designation,:dateDebut,:dateFin,:prix,:TVA,:photo)');
      $req->execute(array(':codeBarre'=>$codeBarre,':designation'=>$designation,':dateDebut'=>date("Y-m-d",strtotime($dateDebut)),':dateFin'=>date("Y-m-d",strtotime($dateFin)),':prix'=>$prix,':TVA'=>$TVA,':photo'=>$photo)); 
    return "promotion creer";

}

我的 JQuery 代码:

     $(document).ready(function()
 {
      function getUrlVars() {
 var vars = [], hash;
 var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 for (var i = 0; i < hashes.length; i++) {
 hash = hashes[i].split('=');
 vars.push(hash[0]);
 vars[hash[0]] = hash[1];
 }
 return vars;
}
     var nom_restaurant = decodeURI(getUrlVars()["nom_restaurant"]);

//alert(nom);
/*$("#nom").val(nom); 
var nom_restaurant=$("#nom").val();*/

 $("#insert").click(function(){
    var codeBarre=$("#codeBarre").val();
    var designation=$("#designation").val();
    var dateDebut=$("#dateDebut").val();
    var dateFin=$("#dateFin").val();
    var prix=$("#prix").val();
    var TVA=$("#TVA").val();

    var photo=$('#image-upload img').attr('src').substr($('#image-upload img').attr('src').lastIndexOf('/')+1);

    var data="codeBarre="+codeBarre+"&designation="+designation+"&dateDebut="+dateDebut+"&dateFin="+dateFin+"&prix="+prix+"&TVA="+TVA+"&photo="+photo;

    alert (data);
    alert(nom_restaurant);

 $.post("http://192.168.1.15/fou/promoCre.php",'nom_restaurant='+ nom_restaurant,function(data){

                      alert(data);
                })
                .done(function(data) {
                     alert( data+"second success" );
                })
                .fail(function(errMsg) {
    alert(errMsg+ "error" );
  })




        });

});

我得到表名的url:

$("#new").append("<a href='ajout.html?nom_restaurant="+nom_restaurant+"'>"+"Nouvelle promotion"+"</a>");

我收到一个未定义的错误:nom_restaurant。

【问题讨论】:

  • 你真的不想接受像$non_restaurant 这样的任意参数,然后毫无疑问地把它塞进你的查询中。
  • $nom_restaurant 正在从我的数据库表列表中获取。你能解释一下你的问题吗
  • 您似乎将其从用户发送的参数中提取出来。这是bad news。

标签: javascript php jquery mysql cordova


【解决方案1】:
 $.post("http://192.168.1.15/fou/promoCre.php",'nom_restaurant='+ nom_restaurant,function(data){

                  alert(data);
            })

将该行更改为

 $.post("http://192.168.1.15/fou/promoCre.php",{nom_restaurant:nom_restaurant},function(data){

                  alert(data);
            })

【讨论】:

  • 嗨,我编辑了我的代码,我也遇到了同样的错误
猜你喜欢
  • 2011-01-23
  • 2014-06-28
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多