2017-08-13 16 views
0
  1. forme est d'abord où le client peut obtenir tous les produits par Marque Modèle et Prix en tant que bouton radio avec une valeur de là id dans la base de donnéesComment gérer plusieurs formulaires ?, arrêter la page de rechargement sur soumettre?

  2. client cliquez sur soumettre.

  3. PHP demander le nom isset du bouton Envoyer

  4. Si isset il echos deuxième forme où le client peut ajouter des spécifications pour le produit qu'il ou elle choisir. La forme est de type texte d'entrée et de textarea

  5. Alors php demander le nom de isset de soumettre le bouton pour la deuxième forme

mais le problème est quand Si la première forme client appuyez sur Envoy pour la deuxième forme

est unset alors le reste du code devrait vérifier que la deuxième forme n'existe pas parce que les deux formes sortent le plus pour que le code fonctionne et je peux l'obtenir, si je ne trouve pas d'arrêter de recharger la page sur soumettre

J'essaie d'utiliser AJAX mais la requête MySQL jette un erreur que les entrées sont vides.

code JavaScript:

<script> 
$(document).ready(function() { 
    $('.link').click(function(){ 
    $.post('ajax1.php?strana='+$(this).attr('strana'), function(odgovor) { 
     $('#odgovor').html(odgovor); 
    }); 
    }); 
}); 
</script> 

Code PHP:

echo "<div class='container' id='cars'> 
    <div class='row'> 
     <div class='col-md-4 col-md-offset-4 text-center'> 
     <form action='' method='post' class='loginForm' id='cmsC' name='cmsC' enctype='multipart/form-data'> 
      <div class='input-group'>"; 
      $sql="select * from produkt "; 
      $rez=mysqli_query($db,$sql); 
      while($red = mysqli_fetch_object($rez)) 
      { 
      echo "<input type='radio' name='proizvod' value='$red->id'> ". $red->marka." ". $red->naziv." ". $red->cena."<br>"; 
      } 
      echo "<input type='submit' id='btnsubmit1' name='btnsubmit1' class='form-control' value='Chouse Product' > 
     </div> 
     </form> 
    </div> 
    </div> 
</div>"; 

if (isset($_POST['btnsubmit1'])) { 
    $id = $_POST['proizvod']; 

    echo "<div class='container'> 
    <div class='row'> 
    <div class='col-md-4 col-md-offset-4 text-center'> 
     <form action='' method='post' class='loginForm' id='cms' name='cms' enctype='multipart/form-data'> 
     <div class='input-group clear'> 
      <input type='text' id='dotm' name='dotm' class='form-control' 
      placeholder='Description Of The Motherboard (ASUS H81M-R/C/SI)'> 

      <input type='text' id='top' name='top' class='form-control' 
      placeholder='Type Of Processor (Intel® Core™ i3 Processor)'>"; // there is bunch more of this type for input type 

      if (isset($_POST['submit'])) { 
        // Variable with data from form 
        $description_of_the_motherboard = $_POST['dotm']; 
        $type_of_processor = $_POST['top']; 
        $processor_description = $_POST['pd']; 
        $type_of_graphics_card = $_POST['togc']; 

        if(strlen($description_of_the_motherboard)!="") { 
        if(!preg_match("/[^\w\s,.\\\'\"\-\/]/", $description_of_the_motherboard) { 
         $sql = "insert query"; 
         mysqli_query($db, $sql); 

        } else echo "<script> 

        alert('Your input can not have special characters '); 

        </script>"; 
      }    
      } 
} 

Répondre

1

Ajoutez juste un drapeau pour éviter les demandes en double.

Exemple:

$(document).ready(function() { 
    var iAmProcessing = false; 
    $('.link').click(function(){ 
    if (iAmProcessing === true) { 
     return; 
    } 
    iAmProcessing = true; 
    $.post('ajax1.php?strana='+$(this).attr('strana'), function(odgovor) { 
     iAmProcessing = false; 
     $('#odgovor').html(odgovor); 
    }); 
    }); 
}); 
0

poste le plus être dans le réseau de données en deuxième paramètre.

<script> 
    $(document).ready(function() { 
     $('.link').click(function(){ 
      $.post('ajax1.php',{strana:$(this).attr('strana'),function(odgovor){ 
       $('#odgovor').html(odgovor); 
      }); 
     }); 
    }); 
</script>