0

I'm trying to insert data into my database with table name get from URL.I work with phonegap and php. My function code like:

    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";

}

My JQuery code:

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




        });

});

The url that i get the table name:

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

I get a error undefined: nom_restaurant.

user1674906
  • 29
  • 1
  • 8
  • You really don't want to accept an arbitrary argument like `$non_restaurant` and then go and jam it in your query without question. – tadman May 10 '16 at 18:30
  • $nom_restaurant is getting from my liste of table in database. Can you explain more your question – user1674906 May 11 '16 at 07:42
  • You appear to be pulling it out of the parameters sent in by the user. This is [bad news](http://bobby-tables.com/). – tadman May 11 '16 at 15:30

1 Answers1

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

                  alert(data);
            })

change that line to

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

                  alert(data);
            })
Antoine Eskaros
  • 836
  • 5
  • 22