Buonasera a tutti, volevo chiedervi una info, magari banale... ma vorrei capire come funziona. Mi spiego, ho costruito una pagina html che dovrebbe salvare dati su Mysql, al salvataggio di questi dati dovrebbe permettermi l'inserimento di altri dati ecc...
Ho optato per la soluzione jquery in questo modo:
PHP
non riesco a capire cosa fa... io vorrei semplicemente farmi restituire un messaggio di errore se la query non va a buon fine, altrimenti deve nascondere il bottone. Adesso tra i vari test e modifiche, o va sempre in errore o va sempre ok (anche quando non salva).
Dove sto sbagliando?
Grazie a tutti
E
Ho optato per la soluzione jquery in questo modo:
JavaScript:
$(function() {
$('#agg_es_visivo').on('click', function() {
var random_id_commento=$('#id_commento').val();
var id_utente= $('#id_utente').val();
var id_cantina= $('#id_cantina').val();
var nome_vino_ev= $('#nome_vino_ev').val();
var annata_ev= $('#annata_ev').val();
var limpidezza=$('#limpidezza').val();
var colore= $('#colore').val();
var consistenza=$('#consistenza').val();
var grana_bollicine=$('#grana_bollicine').val();
var numero_bollicine=$('#numero_bollicine').val();
var persistenza_bollicine=$('#persistenza_bollicine').val();
var note_ev=$('#note_ev').val();
$.ajax({
type:'POST',
dataType : 'json',
url:'funzioni.php',
data : {'id_cantina' : id_cantina,'random_id_commento' : random_id_commento,'id_utente' : id_utente,'nome_vino_ev' : nome_vino_ev,'annata_ev' : annata_ev,'limpidezza' : limpidezza,'colore' : colore,'consistenza' : consistenza,'grana_bollicine' : grana_bollicine,'numero_bollicine' : numero_bollicine,'persistenza_bollicine' : persistenza_bollicine,'note_ev' : note_ev},
success: function (data) {
$('#agg_es_visivo').hide();
},
error: function() {
alert("Errore");
}
});
});
});
PHP
PHP:
if (isset($_POST['random_id_commento'])) {
$random_id=mt_rand(100000000, 999999999);
$random_id_commento=$_POST['random_id_commento'];
$id_utente= $_POST['id_utente'];
$id_cantina= $_POST['id_cantina'];
$nome_vino_ev= $_POST['nome_vino_ev'];
$annata_ev= $_POST['annata_ev'];
$limpidezza=$_POST['limpidezza'];
$colore= $_POST['colore'];
$consistenza=$_POST['consistenza'];
$grana_bollicine=$_POST['grana_bollicine'];
$numero_bollicine=$_POST['numero_bollicine'];
$persistenza_bollicine=$_POST['persistenza_bollicine'];
$note_ev=$_POST['note_ev'];
$timestamp_commento =date('Y-m-d H:i:s');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$dbh->beginTransaction();
$sql= "INSERT INTO commenti_vino(id_commento,data_commento, utente_commento,id_cantina,nome_vino_ev,annata_ev) ";
$sql.= "VALUES ";
$sql.= "(:id_commento,:data_commento,:utente_commento,:id_cantina,:nome_vino_ev,:annata_ev)";
$query=$dbh->prepare($sql);
$query->bindParam(':id_commento',$random_id_commento,PDO::PARAM_STR);
$query->bindParam(':data_commento',$timestamp_commento,PDO::PARAM_STR);
$query->bindParam(':utente_commento',$_SESSION['utente_id'],PDO::PARAM_STR);
$query->bindParam(':id_cantina',$id_cantina,PDO::PARAM_STR);
$query->bindParam(':nome_vino_ev',$nome_vino_ev,PDO::PARAM_STR);
$query->bindParam(':annata_ev',$annata_ev,PDO::PARAM_STR);
$query->execute();
$sql= "INSERT INTO esame_visivo(id_commento,id_esame_visivo,limpidezza,colore, ";
$sql.= "consistenza,grana_bollicine,numero_bollicine,persistenza_bollicine,note_ev) ";
$sql.= "VALUES ";
$sql.= "(:id_commento,:id_esame_visivo,:limpidezza,:colore, ";
$sql.= ":consistenza,:grana_bollicine,:numero_bollicine,:persistenza_bollicine,:note_ev)";
$query=$dbh->prepare($sql);
$query->bindParam(':id_commento',$random_id_commento,PDO::PARAM_STR);
$query->bindParam(':id_esame_visivo',$random_id,PDO::PARAM_STR);
$query->bindParam(':limpidezza',$limpidezza,PDO::PARAM_STR);
$query->bindParam(':colore',$colore,PDO::PARAM_STR);
$query->bindParam(':consistenza',$consistenza,PDO::PARAM_STR);
$query->bindParam(':grana_bollicine',$grana_bollicine,PDO::PARAM_STR);
$query->bindParam(':numero_bollicine',$numero_bollicine,PDO::PARAM_STR);
$query->bindParam(':persistenza_bollicine',$persistenza_bollicine,PDO::PARAM_STR);
$query->bindParam(':note_ev',$note_ev,PDO::PARAM_STR);
$query->execute();
$dbh->commit();
} catch (PDOException $e) {
$message = $e->getMessage();
echo '<script type="text/javascript">alert("'.$message.'");</script>';
$dbh->rollback();
}
}
non riesco a capire cosa fa... io vorrei semplicemente farmi restituire un messaggio di errore se la query non va a buon fine, altrimenti deve nascondere il bottone. Adesso tra i vari test e modifiche, o va sempre in errore o va sempre ok (anche quando non salva).
Dove sto sbagliando?
Grazie a tutti
E