J'ai un javascript pour créer un tableau json et il a une méthode de post ajax, je dois savoir comment ce tableau json devrait décoder du côté php?récupérer tableau json de php json decode
Ma fonction javascript:
var invoices = {invoice: [{ "customerName" : "John" ,"reciptionName" : "Doe" ,"datee" : "2017-09-09" ,"total" : tot }], invoiceLine: []};
for(i=1; i<=count+arr.length-1; i++){
var ss = String(i);
if(arr.includes(ss)){
continue;
}
invoices.invoiceLine.push({
"itemName" : document.getElementById('item'+i).value ,
"qty" : document.getElementById('inputQty'+i).value ,
"value" : document.getElementById('value'+i).value
});
}
$.ajax({
type: "POST",
url: "saveInvoice.php",
data: {json : JSON.stringify(invoices)},
cache: false,
success: function(data) {
alert(data);
location.reload();
}
});
et voici mon php:.. (Il ne sera pas enregistrer les données dans la base de données que je veux les premières données de la facture pour enregistrer dans la base de données pour l'instant je peux utiliser les données invoiveLine . à une autre insertion de table)
$dbhost = "localhost";
$dbuser = "root";
//$dbpass = "dbpassword";
$dbname = "inventory";
$jsonInvoice = json_decode($POST['invoices'],true);
$customerName = $jsonInvoice.["invoice"][0].["customerName"];
$reciptionName = $jsonInvoice.["invoice"][0].["reciptionName"];
$date = $jsonInvoice.["invoice"][0].["datee"];
$total = $jsonInvoice.["invoice"][0].["total"];
mysql_connect($dbhost, $dbuser, '');
mysql_select_db($dbname) or die(mysql_error());
$query = "insert into invoice (customerName,reciptionName,date,total) values ('$customerName','$reciptionName','$date',$total)";
$qry_result = mysql_query($query) or die(mysql_error());
$insertId = mysql_insert_id();
echo $insertId;
Qu'est-ce que '$ POST [ « factures »]' ressemblent? De plus, le constructeur 'mysql_' est [** obsolète depuis PHP 5.5 **] (https://wiki.php.net/rfc/mysql_deprecation), et est carrément [** supprimé en PHP 7 **] (https : //wiki.php.net/rfc/remove_deprecated_functionality_in_php7#extmysql). Veuillez envisager de passer à [** MySQLi **] (http://php.net/manual/fr/book.mysqli.php) ou à [** PDO **] (http://php.net/manual/ en/book.pdo.php), en veillant à utiliser également [** requêtes paramétrées **] (http://php.net/manual/fr/mysqli.quickstart.prepared-statements.php) pour empêcher l'injection SQL: –
Tout d'abord, n'utilisez pas mysql_query, utilisez mysqli ou PDO et paramétrez votre chaîne de requête pour ne pas être sujet à l'injection SQL. – Difster
j'ai corrigé $ POST à $ _POST mais toujours obtenir l'erreur –