Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168

    [ajax] problema http_post_vars

    salve ho questo codice:

    codice:
    if($HTTP_POST_VARS){
    while(list($lvar,$lvalue)=each($HTTP_POST_VARS)){
    if(ereg("^riga",$lvar,$unarray)){
    $pezzi=explode("|",$lvalue);
    $idprodotto=prodotto($pezzi[0]);
    $note=$pezzi[1];   
    $prezzo=$pezzi[3];
    $quantita=$pezzi[2];
    $sconto=$pezzi[4];
    $iva=$pezzi[5];
    $misura=$pezzi[6];
    $aliva=$pezzi[7];
    $sub=$pezzi[8];
    $note=rteSafe($note);
    
    $result = mysql_query("INSERT INTO item(dprodotto,quantita,note,prezzo,misura,sconto,idfattura,iva,aliva,sub) values('$idprodotto','$quantita','$note','$prezzo','$misura','$sconto','$idfattura','$iva','$aliva','$sub')");
    ottengo i risultati da i form di una pagina.
    tramite ajax poi li inserisco nel database

    ogni tanto il ciclo impazzisce e mi salta degli oggetti quando vengono inseriti nel database.

    è capitato anche che mi rivoluzionasse l'ordine sequenziale.

    da cosa può dipendere?? è un errore che capita molto random...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    nessuno ha una soluzione?

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: [ajax] problema http_post_vars

    Originariamente inviato da miscialo
    ....

    da cosa può dipendere?? è un errore che capita molto random...
    Sicuro che la parte lato server funzioni correttamente?
    Nei dati ricevuti potrebbero esserci caratteri speciali (acenti,apici,virgolette) che potrebbero sfalsare l'array?
    Da errori lato client? Se si quali
    Secondo me, l'errore (essendo random) lo identificherei + lato server comunque posta il link pagina pubblica.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    codice:
    <script type="text/javascript">                        
    
    /*mi serve per convertire la virgola in punto ed evitarmi il Nan*/
    function virg2point(value){
      value = value.replace(",",".");
      return value;
      }
      
      
    //valori calcolo totali
    var totale=0;
    var inps=0;
    var imponibile=0;
    var iva=0;
    var totalefattura=0;
    var ritenuta=0;
    var netto=0;
    
    var perciva=<?echo $iva;?>;
    var percritenuta=<?echo $ritenuta;?>;
    var percinps=<?echo $inps;?>;
    
    $(document).ready(function(){
    
    
    
    /*mediante uno script catturo i dati da una subselezione di menu a tendina*/
    
           $('#SubCat').change(function(event) {
                      var cosa=$('#SubCat').val();
                      //legge dal db e riempie i campi
                      //descrizione
                      $.ajax({
                      type: "GET",
                      url: "ajax_descrizione_p.php",
                      data: "nome="+cosa+"",
                      success: function(msg){
                             $('#codicet').val(msg);
                      }
                      });
    
                      //prezzo
                      $.ajax({
                      type: "GET",
                      url: "ajax_des2_p.php",
                      data: "nome="+cosa+"",
                      success: function(msg){
                             $('#descr').val(msg);
                      }
                      });
    
    
    
                      //prezzo
                      $.ajax({
                      type: "GET",
                      url: "ajax_prezzo_p.php",
                      data: "nome="+cosa+"",
                      success: function(msg){
                             $('#prezzo').val(msg);
                      }
                      });
    
                        //descrizione
                      $.ajax({
                      type: "GET",
                      url: "ajax_misura_p.php",
                      data: "nome="+cosa+"",
                      success: function(msg){
                             $('#misura').val(msg);
                      }
                      });
    
    
    
                      //iva
                      $.ajax({
                      type: "GET",
                      url: "ajax_iva_p.php",
                      data: "nome="+cosa+"",
                      success: function(msg){
                             $('#ivax').val(msg);
                      }
                      });
                 });
    
    
    /*caricati i valori, li invio per l'inserimento nella lista*/
           $('#invia').click(function() {
                       var valore=$('#codicet').val();
                       var valore2=$('#descr').val();
                       var valore3=$('#quantita').val();
                       var valore4=$('#prezzo').val();
                       
                       var valore5=$('#sconto').val();
                       var valore6=$('#ivax').val();
                       var valore7=$('#misura').val();
                       var valore8=$('#ivax').val();
                       valore4= virg2point(valore4);
                       valore6= virg2point(valore6);
                       valore8= virg2point(valore8);
              valore9=(valore4* valore6/100*valore3).toFixed(2);
                    var valore16=(valore4* valore6/100*valore3).roundTo(2);
                       var a=Math.round(100*Math.random())+300;
                   var valoreq=(parseFloat(valore4)*parseInt(valore3)).toFixed(2);
                       totale=parseFloat(totale)+(parseFloat(valore4)*parseInt(valore3));
    
    
                       $('#miatabella').append("<tr id=\"aaa"+a+"\"><td class=\"textDisplay1\"><input type=\"hidden\" name=\"riga"+a+"\" value=\""+valore+"|"+valore2+"|"+valore3+"|"+valore4+"|"+valore5+"|"+valore9+"|"+valore7+"|"+valore8+"|"+valoreq+"\">"+valore+"</td><td class=\"textDisplay1\">"+valore2+"</td><td class=\"textDisplay1\"><font size=6>"+valore3+"</font></td><td class=\"textDisplay1\"><font size=6>"+valore7+"</font></td><td class=\"textDisplay1\"><font size=6>"+valore9+"</font></td><td class=\"textDisplay1\"><font size=6>"+valore8+"</font></td><td class=\"textDisplay1\"><font size=6>"+valore4+"</font></td><td class=\"textDisplay1\"><font size=6>"+valoreq+"</font></td><td class=\"textDisplay1\"><a href=\"javascript:void(0);\" onclick=\"javascript:remove('aaa"+a+"','"+valore3+"','"+valore4+"','"+valore16+"')\">canc</a></td></tr>");
                       $('#ytotale').val(totale);
    
                       imponibile=totale;
                       $('#yimponibile').val(imponibile.toFixed(2));
    
                       iva=parseFloat(iva)+valore16;
                       $('#yiva').val(iva.toFixed(2));
    
                       totalefatt=iva+imponibile;
                       $('#yfattura').val(totalefatt.toFixed(2));
    
    
    
    
    
           });
    });
    
         //rimuove singola riga
         function remove(pippo,valore3,valore4,valore16) {
             if(confirm('Sicuro?')){
                      //mod totale
                       totale=totale-(valore4*valore3);
                       $('#ytotale').val(totale);
    
                       imponibile=totale;
                       $('#yimponibile').val(imponibile.toFixed(2));
    
                       iva=iva-valore16;
                       $('#yiva').val(iva.toFixed(2));
    
                       totalefatt=iva+imponibile;
                       $('#yfattura').val(totalefatt.toFixed(2));
    
    
    
                      $('#'+pippo).remove();
                         //fa effetto rosso
                      $('#'+pippo).addClass('red');
                      //chiude
                      $('#'+pippo).fadeOut('slow');
             }
         }
    
         //arrotonda a decimalpositions cifre decimali
        function roundTo(decimalpositions)
        {
        var i = this * Math.pow(10,decimalpositions);
        i = Math.round(i);
        return i / Math.pow(10,decimalpositions);
        }
        Number.prototype.roundTo = roundTo;
    
        /*
         var x = 3.14159;
         alert( x.roundTo(2) );    // 3.14
         alert( x.roundTo(4) );    // 3.1416
        */
    </script>
    ho notato ke l'errore appare anche in fase di cancellazione... rimuove gli oggetti dall'array, ma i dati rimangono memorizzati

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Io non capisco certi atteggiamenti:
    Chiedi aiuto, e non leggi le risposte.
    Aggiungere un altro problema quando non hai ancora risolto il primo.
    Detto ciò ti auguro di trovare un utente + paziente di me e che ti aiuti a risolvere il tuo problema.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    scusami pensavo che postando la parte client del codice sarebbe stata utile alla risoluzione del problema... non ho aggiunto nessun problema al mio primo... ho cercato solo di postare il restante per completezza.. mi devi scusare se ho lasciato intendere altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    il problema potrebbe dipendere da $HTTP_POST_VARS???

    sostituendolo con $_POST cosa potrebbe succedere?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    nessuno ha avuto un problema simile??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.