Μου εισάγει πολλαπλές εγγραφές χωρίς λόγο στην mysql

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Μου εισάγει πολλαπλές εγγραφές χωρίς λόγο στην mysql

Δημοσίευση από dpa » 28 Αύγ 2014 22:29

Παιδιά έχω ένα πρόβλημα.

Κώδικας: Επιλογή όλων

    $('#BtnVariationAdd').click(function() {
        
        $("#FrmVariationAdd").submit(function() {

            $("#rs_opt_loading2").show();
            $.ajax({
                type: $(this).attr('method'),
                url: $(this).attr('action'),
                data: $(this).serialize(),     
                beforeSend: function(){ $("#rs_opt_loading2").fadeIn(600); }, 
                complete: function(){ $("#rs_opt_loading2").hide("fast"); }, 
                success: function(data) {
                  $("#rs_opt_add_option").html(data).show();
                  
                    $("#FrmVariationAdd").on('submit',function(e){
                    var $form = $(this);

                    if ($form.data('submitted') === true) {
                      // Previously submitted - don't submit again
                      e.preventDefault();
                    } else {
                      // Mark it so that the next submit can be ignored
                      $form.data('submitted', true);
                    }
                  });
                  
             
                }
            });

          return false;

        }); 
    });
Έχω το παραπάνω script και κάνω submit μια φόρμα.

Όταν πατήσω μια φορά το κουμπί για την αποστολή της φόρμας μου εισάγει μία εγγραφή.
Αν το πατήσω δεύτερη φορά μου εισάγει 2 εγγραφές.
Αν το πατήσω τρίτη φορά μου εισάγει 3 εγγραφές.



Κώδικας: Επιλογή όλων

$Registration = date('Y-m-d G:i:s');
$ParentID      = clean_field($db, $_POST['ID'] );

$sql = "INSERT INTO options (ParentID,Enable,DateAdded) VALUES('".$ParentID."','1','".$Registration."')";

                        $db->query("SET NAMES 'utf8'");
                        $result = $db->query($sql);

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Μου εισάγει πολλαπλές εγγραφές χωρίς λόγο στην mysql

Δημοσίευση από giannis17 » 29 Αύγ 2014 12:51

Σου εισάγει το ίδιο αποτέλεσμα πάλι ή αυτά που πέρασες πριν συν το καινούριο; Κάτι μου λέει πως έχεις δώσει ίδιο id στα αποτελέσματα που γυρνάει πίσω η ajax και τα ξαναστέλνει.

Δώσε λίγο και το html της φόρμας και των αποτελεσμάτων.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
greekbytes
WebDev Moderator
Δημοσιεύσεις: 2438
Εγγραφή: 15 Νοέμ 2002 15:42
Τοποθεσία: Αθήνα
Επικοινωνία:

Μου εισάγει πολλαπλές εγγραφές χωρίς λόγο στην mysql

Δημοσίευση από greekbytes » 31 Αύγ 2014 12:45

Για δοκίμασες να σβήσεις την πρώτη και την τελευταία γραμμή από τον κώδικα που έστειλες.

Δηλαδή το $('#BtnVariationAdd').click(function() {
και το τελευταίο });

Αυτό που συμβαίνει τώρα είναι σε κάθε click event του κουμπιού ξανακάνεις bind να κάνει κάτι στο submit event της φόρμας, γι' αυτό τρέχει σε κάθε click και μια παραπάνω φορά.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες