Maison >développement back-end >tutoriel php >Comment puis-je utiliser AJAX et PHP pour enregistrer plusieurs entrées de formulaire dans une base de données ?

Comment puis-je utiliser AJAX et PHP pour enregistrer plusieurs entrées de formulaire dans une base de données ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-01 16:54:15408parcourir

How Can I Use AJAX and PHP to Save Multiple Form Inputs to a Database?

Utiliser AJAX et PHP pour enregistrer plusieurs entrées de formulaire dans une base de données

AJAX (JavaScript asynchrone et XML) permet l'échange de données en temps réel entre un navigateur Web et un serveur sans actualiser la page. Dans ce contexte, il peut être utilisé pour transférer les entrées d'un formulaire vers une base de données à l'aide de PHP.

Implémentation

Formulaire HTML

Générez un formulaire avec plusieurs champs de saisie, en vous assurant que leurs noms correspondent à la variable PHP $_POST que vous souhaitez accès.

Fonction Ajax

Créez une fonction JavaScript comme celle ci-dessous pour gérer la soumission du formulaire :

function saveData() {
  // Collect all input values
  var inputs = $("input[type=text]");
  var data = {};
  $.each(inputs, function() {
    data[$(this).attr("name")] = $(this).val();
  });

  // Convert data to JSON
  var jsonData = JSON.stringify(data);

  // Send data to PHP file via AJAX
  $.ajax({
    url: "save.php",
    type: "POST",
    data: { data: jsonData },
    dataType: "json",
    success: function(response) {
      if (response.success) {
        alert("Data saved successfully.");
      } else {
        alert("Error saving data.");
      }
    }
  });
}

Script PHP

Dans save.php, décodez les données JSON et effectuez la base de données opérations :

<?php
// Decode JSON data
$data = json_decode($_POST['data']);

// Connect to database and execute query
// ...

// Prepare response
$response = array();
if ($result) {
  $response['success'] = true;
} else {
  $response['success'] = false;
}

// Encode response as JSON and echo
echo json_encode($response);

Notes supplémentaires

  • Sérialiser les données du formulaire : Au lieu de collecter manuellement les valeurs d'entrée, vous pouvez utiliser le formulaire. Serialize() pour créer une représentation sous forme de chaîne des données du formulaire.
  • Entrée personnalisée Noms : L'exemple fourni suppose des noms d'entrée numériques séquentiels. Si vous avez des noms d'entrée personnalisés, modifiez le code JavaScript en conséquence.
  • Analyse JSON : Si vous débutez avec JSON, reportez-vous à des ressources telles que MDN pour obtenir des conseils sur l'analyse de JSON en JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn