Problema jquery Success

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
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:

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
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
ti rispondo solo ora, perché la tua domanda ha richiesto tempo da dedicare

prima cosa, "success" e "error" si riferiscono alla chiamata "ajax" non al risultato delle tue query,
il risultato delle query va gestito nella funzione "success" per la risposta ricevuta

ho modificato il tuo codice cercando di spendere meno tempo possibile,
fai tu uno sforzo per capirlo e renderlo operativo per la tua necessità

HTML:
<!DOCTYPE html>
<html>
<head>
   <title>vino</title>
</head>
<body>
  <h1>valutazione vino</h1><br /><br />

  <span id="agg_es_visivo" style="cursor: pointer; text-decoration: underline">
    Make a request
  </span>

<script type='text/javascript' src='http://localhost/test_site/php/jquery.min.js'></script>

<script type="text/javascript">
  alert('ci sono !');

  $(function() {
    $('#agg_es_visivo').on('click', function() {
      var random_id_commento    = '#id_commento';            /* $('#id_commento').val();            */
      var id_utente             = '#id_utente';              /* $('#id_utente').val();              */
      var id_cantina            = '#id_cantina';             /* $('#id_cantina').val();             */
      var nome_vino_ev          = '#nome_vino_ev';           /* $('#nome_vino_ev').val();           */
      var annata_ev             = '#annata_ev';              /* $('#annata_ev').val();              */
      var limpidezza            = '#limpidezza';             /* $('#limpidezza').val();             */
      var colore                = '#colore';                 /* $('#colore').val();                 */
      var consistenza           = '#consistenza';            /* $('#consistenza').val();            */
      var grana_bollicine       = '#grana_bollicine';        /* $('#grana_bollicine').val();        */
      var numero_bollicine      = '#numero_bollicine';       /* $('#numero_bollicine').val();       */
      var persistenza_bollicine = '#persistenza_bollicine';  /* $('#persistenza_bollicine').val();  */
      var note_ev               = '#note_ev'                 /* $('#note_ev').val();                */
      $.ajax
      ({
        type     : 'post',

        cache    : false,

//        dataType : 'json',

        url      : 'VinoValutazioneExec.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 (response) {
//          $('#agg_es_visivo').hide();
          alert('risposta : '+response);
        },

        error: function(request, status, error) {
          alert('ERRORE : il server non risponde o lo ha fatto in modo anomalo '+request.responseText);
        }

      });
    });
  });
</script>

</body>
</html>


PHP:
<?php
ini_set('log_errors', 1);
ini_set('error_log', 'VinoValutazioneExec.log');

error_log("message : VinoValutazioneExec", 0);

if ( !empty($_POST) )
{
  error_log("message : ok data", 0);
  error_log($_POST['id_cantina'], 0);

  echo "ciao, ho risposto alla tua richiesta !";
}
?>

segue il log

PHP:
[19-Jan-2023 13:44:00 Europe/Rome] message : VinoValutazioneExec
[19-Jan-2023 13:44:00 Europe/Rome] message : ok data
[19-Jan-2023 13:44:00 Europe/Rome] #id_cantina
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
php con 3 possibili risposte

PHP:
<?php
ini_set('log_errors', 1);
ini_set('error_log', 'VinoValutazioneExec.log');

error_log("message : VinoValutazioneExec", 0);

if ( !empty($_POST) )
{
  error_log("message : ok data", 0);

  $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');

  error_log($random_id, 0);
  error_log($id_cantina, 0);
  error_log($timestamp_commento, 0);

/*
  $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();

    echo "ciao, ho completato gli aggiornamenti come da tua richiesta !";
                 
  }
  catch (PDOException $e) {

    echo "ciao, ho trovato un problema,";
    echo $e->getMessage();

    $dbh->rollback();
  }
*/

  echo "ciao, ho risposto alla tua richiesta !";
}
?>


giusto il log

PHP:
[19-Jan-2023 14:08:56 Europe/Rome] message : VinoValutazioneExec
[19-Jan-2023 14:08:56 Europe/Rome] message : ok data
[19-Jan-2023 14:08:56 Europe/Rome] 871083572
[19-Jan-2023 14:08:56 Europe/Rome] #id_cantina
[19-Jan-2023 14:08:56 Europe/Rome] 2023-01-19 14:08:56
 
Discussioni simili
Autore Titolo Forum Risposte Data
T problema con select dinamica con jquery Javascript 0
L Problema jQuery validation AJAX (PHP 7) PHP 6
X Problema con jquery e ajax jQuery 2
F [Javascript] Problema funzione jquery con elementi css esterni Javascript 1
P immagine responsive problema con script jquery jQuery 0
B Problema di visualizzazione di uno Slider in jquery jQuery 4
L Problema phpmailer,jquery e smtp PHP 1
I problema con swipetouch in jquery Sviluppo app per iOS 0
V Problema con tabella jQuery jQuery 9
M Problema load jquery jQuery 1
D Problema con jQuery.timeago() jQuery 2
R Problema con slider jQuery HTML e CSS 1
F Problema Jquery.load() e tweenLite.to() con Chorme Javascript 0
L problema jquery easyui window jQuery 4
S Gallery con Tag foto: problema doppia chiamata ajax con JQuery jQuery 2
J problema jquery add/removeclass jQuery 1
S Problema Jquery UI Dialog jQuery 0
Emix Problema nel concatenare jquery ed ajax nella stessa pagina Javascript 15
E [Menu JQuery]: problema click quando il sottomenu si apre sopra un iframe... jQuery 0
Antonio De Grezia Problema jquery con chrome!! :( Javascript 3
S Autocompletamente con jQuery, PHP e MySQL - Problema con le query PHP 7
P Problema caricamento/sostituzione immagini galleria php-jquery jQuery 2
S Problema con toggle jquery jQuery 1
P problema validazione form con ajax e jquery Ajax 0
A galleria jquery: problema nel caricamento di una immagine da un'anteprima HTML e CSS 10
T Problema con Jquery ajax jQuery 4
E Problema con jquery-1.7.2.min jQuery 3
D Problema nella validazione di un form con JQUERY ed AjAX jQuery 4
M Problema .load JQuery jQuery 1
F Problema select dinamiche con php e jquery jQuery 1
L problema richiesta asincrona con jquery jQuery 1
A problema con jquery.nivo.slider.js Javascript 0
novello88 Problema con jQuery: $ is not defined jQuery 1
M problema "Ordine del carico jquery librerie deve essere cambiato" jQuery 0
P problema jQuery/ajax Ajax 4
F Problema variabile in uno script jquery jQuery 2
G problema con plugin validazione form jquery jQuery 0
emanuelevt piccolo problema jquery jQuery 4
G problema caricamento effetti jquery jQuery 0
S problema con div a scomparsa jquery jQuery 0
M problema con select jquery e php PHP 0
R Problema posizionamento menu orizzontale in jquery HTML e CSS 11
B problema slider jquery in iframe jQuery 3
B problema slider jquery jQuery 0
E Problema pulizia codice jquery jQuery 0
F Problema pulsante cerca record su access Database 0
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0

Discussioni simili