Buon pomeriggio a tutti, volevo chiedervi una cosa, sono certo che è un mio errore di concetto, ma non riesco a capre dove sto sbagliando. Ho un bottone che al click (utilizzando ajax) richiama un file "funzioni.php" che esegue delle insert in un db mysql. Sono stato costretto ad utilizzare questo stratagemma perchè l'applicativo prevede l'utilizzo di un lettore barcode, e ogni volta mi faceva il submit. Il problema è uno, perchè non riesco a farmi comparire gli alert dal file "funzioni.php"??? non visualizzo neppure gli errori della transaction. Vi posto un po di codice, cosi magari è più chiaro:
Script Ajax:
funzioni.php:
Perchè qualsiasi alert vado ad inserire dopo il commit non viene visualizzato? non visualizzo neppure eventuali gli errori di Exception.
Potete darmi qualche info a riguardo?
Grazie mille
E
Script Ajax:
JavaScript:
<script type="text/javascript">
$(function() {
$('#crea_articolo').on('click', function() {
var cod_articolo = $('#cod_articolo').val();
var cod_interno = $('#cod_interno').val();
var desc_articolo = $('#desc_articolo').val();
var costruttore = $('#costruttore').val();
var categoria =$('#categoria').val();
var qta_minima = $('#qta_minima').val();
var qta_attuale = $('#qta_attuale').val();
var posizione = $('#posizione').val();
var fornitore =$('#fornitore').val();
var prezzo = $('#prezzo').val();
var off_n = $('#off_n').val();
$.ajax({
type:'post',
url:'funzioni.php',
dataType: 'json',
data : {'barcode' : cod_articolo,'cod_interno' : cod_interno,'desc_articolo' : desc_articolo,'costruttore' : costruttore,'categoria' : categoria,'qta_minima' : qta_minima,'qta_attuale' : qta_attuale,'posizione' : posizione,'fornitore' : fornitore,'prezzo' : prezzo,'off_n' : off_n},
success : function(data){
}
});
});
});
</script>
funzioni.php:
PHP:
if (isset($_POST['barcode'])) {
$acctid=mt_rand(100000000, 999999999);
$cod_articolo=$_POST['barcode'];
$cod_interno=$_POST['cod_interno'];
$desc_articolo=$_POST['desc_articolo'];
$costruttore=$_POST['costruttore'];
$categoria=$_POST['categoria'];
$qta_minima=$_POST['qta_minima'];
$qta_attuale=$_POST['qta_attuale'];
$posizione=$_POST['posizione'];
$fornitore=$_POST['fornitore'];
$prezzo=$_POST['prezzo'];
$off_n=$_POST['off_n'];
$sql1="SELECT * from articoli where codice_articolo=:codice_articolo";
$query1 = $dbh -> prepare($sql1);
$query1->bindParam(':codice_articolo',$cod_articolo,PDO::PARAM_STR);
$query1->execute();
$results=$query1->fetchAll(PDO::FETCH_OBJ);
if($query1->rowCount() > 0)
{
}else{
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$dbh->beginTransaction();
$sql= "INSERT INTO articoli(id_articolo, codice_articolo,codice_ti,descr_articolo,costruttore_articolo,categoria,scorta_min,quantita_attuale, ";
$sql.= "posizione,fornitore,prezzo,offerta_n,nome_file) VALUES ";
$sql.= "(:acctid,:codice_articolo,:codice_tib,:descr_articolo,:costruttore_articolo,:categoria,:scorta_min,:quantita_attuale, ";
$sql.=" :posizione,:fornitore,:prezzo,:offerta_n,:nome_file)";
$query=$dbh->prepare($sql);
$query->bindParam(':acctid',$acctid,PDO::PARAM_STR);
$query->bindParam(':codice_articolo',$cod_articolo,PDO::PARAM_STR);
$query->bindParam(':codice_tib',$cod_interno,PDO::PARAM_STR);
$query->bindParam(':descr_articolo',$desc_articolo,PDO::PARAM_STR);
$query->bindParam(':costruttore_articolo',$costruttore,PDO::PARAM_STR);
$query->bindParam(':categoria',$categoria,PDO::PARAM_STR);
$query->bindParam(':scorta_min',$qta_minima,PDO::PARAM_STR);
$query->bindParam(':quantita_attuale',$qta_attuale,PDO::PARAM_STR);
$query->bindParam(':posizione',$posizione,PDO::PARAM_STR);
$query->bindParam(':fornitore',$fornitore,PDO::PARAM_STR);
$query->bindParam(':prezzo',$prezzo,PDO::PARAM_STR);
$query->bindParam(':offerta_n',$off_n,PDO::PARAM_STR);
$query->bindParam(':nome_file',$nome_file,PDO::PARAM_STR);
$query->execute();
$dbh->commit();
} catch (PDOException $e) {
$message = $e->getMessage();
echo '<script type="text/javascript">alert("'.$message.'");</script>';
$dbh->rollback();
}
}
}
Perchè qualsiasi alert vado ad inserire dopo il commit non viene visualizzato? non visualizzo neppure eventuali gli errori di Exception.
Potete darmi qualche info a riguardo?
Grazie mille
E