Utilisez Ajax et PHP pour créer votre liste de diffusion
Mar 08, 2025 am 12:34 AM
Utilisation de Ajax pour livrer l'adresse
à l'intérieur du dossier JS, à c?té du fichier prototype.js, se trouve un fichier appelé MaillingList.js. Ce fichier contient le code qui pilote la fonctionnalité AJAX spécifique à cette page. Notre premier élément d'activité dans ce fichier est d'ajouter un écouteur d'événements à l'événement de soumission de l'élément de formulaire, qui déclenchera l'appel AJAX au serveur. Cependant, nous ne pouvons pas le faire immédiatement - nous devons attendre que la page soit chargée, ce qui est signifié par l'événement de charge de l'objet de fenêtre.
Pour ajouter ces auditeurs d'événements, nous utiliserons la méthode d'observation pratique du prototype. Nous ajoutons d'abord un écouteur pour l'événement de chargement de la page. à l'intérieur de cet auditeur, nous joignons un auditeur d'événements à l'événement de soumission de notre formulaire:
// Attach handler to window load event <br> Event.observe(window, 'load', init, false); <br> <br> function init() { <br> ?// Attach handler to form's submit event <br> ?Event.observe('addressForm', 'submit', storeAddress); <br> }
Notez que l'écouteur d'événements de notre formulaire appellera la fonction JavaScript Storeaddress lorsque le formulaire sera soumis. Cette fonction Storeaddress contient le javascript pour passer un appel ajax à notre script PHP. Voici à quoi ?a ressemble:
function storeAddress(e) { <br> ?// Update user interface <br> ?$('response').innerHTML = 'Adding email address...'; <br> ?// Prepare query string and send AJAX request <br> ?var pars = 'address=' + escape($F('address')); <br> ?var myAjax = new Ajax.Updater('response', 'ajaxServer.php', {method: 'get', parameters: pars}); <br> ?// Stop form from submitting when JavaScript is enabled <br> ?Event.stop(e); <br> }
Cette fonction est très simple. Cela commence par laisser l'utilisateur que quelque chose se passe en affichant un message ?Ajout d'adresse e-mail…?. Ensuite, nous collectons les informations du formulaire en préparation de l'envoi d'une demande Ajax. Remarquez comment nous accédons au contenu du champ de texte à l'aide de la fonction $ F du prototype, qui saisit la valeur d'un élément de formulaire donné lorsqu'il est fourni avec l'ID de cet élément de formulaire. Nous utilisons la fonction d'échappement JavaScript pour convertir l'entrée utilisateur au format Unicode; De cette fa?on, son URL est prête à livrer au script PHP via la méthode GET.
vient alors la partie la plus importante de cette fonction: la création d'un nouvel objet ajax.updater. Lorsque nous créons un objet ajax.updater, nous lui transmettons certains paramètres, y compris:
- L'ID de l'élément dans lequel vous souhaitez afficher la réponse du serveur
- L'URL du script PHP
- les données que vous souhaitez envoyer au script c?té serveur et la méthode de livraison (c'est-à-dire publier ou obtenir)
L'Ajax.updater enverra l'adresse e-mail au serveur et attendra patiemment une réponse. Lorsqu'il re?oit une réponse, il l'affichera à la place du message ?Ajout d'adresse e-mail…? que nous avons inséré au début de la méthode. Enfin, nous appelons event.stop (une autre fonction fournie par la bibliothèque prototype) pour empêcher le formulaire d'être soumis au serveur.
Configurez votre base de données de liste de diffusion
Avant de pouvoir écrire n'importe quel PHP pour stocker les adresses e-mail, nous avons besoin d'un endroit pour les mettre. Ce SQL créera une table nommée Maillist pour vous:
// Attach handler to window load event <br> Event.observe(window, 'load', init, false); <br> <br> function init() { <br> ?// Attach handler to form's submit event <br> ?Event.observe('addressForm', 'submit', storeAddress); <br> }
inclus dans l'archive de code est un fichier PHP appelé createTable.php, qui créera ce tableau pour vous. Cependant, avant d'exécuter ce fichier, vous devrez mettre à jour le fichier dbConstants.php avec les détails de votre base de données MySQL. Je vous suggère de mettre à jour ce fichier maintenant, car nous utiliserons ces constantes dans la section suivante.
Stockage de l'adresse e-mail
Nous avons tout configuré pour livrer l'adresse au serveur; Maintenant, PHP terminera le processus en stockant l'adresse dans votre base de données et en renvoyant une cha?ne à notre objet Ajax pour indiquer le succès ou l'échec. Jetons un coup d'?il au fichier ajaxserver.php auquel l'adresse e-mail est envoyée.
function storeAddress(e) { <br> ?// Update user interface <br> ?$('response').innerHTML = 'Adding email address...'; <br> ?// Prepare query string and send AJAX request <br> ?var pars = 'address=' + escape($F('address')); <br> ?var myAjax = new Ajax.Updater('response', 'ajaxServer.php', {method: 'get', parameters: pars}); <br> ?// Stop form from submitting when JavaScript is enabled <br> ?Event.stop(e); <br> }
Ce script PHP très simple appelle une fonction appelée Storeaddress et revient à l'objet Ajax le message renvoyé par Storeaddress. La communication avec l'objet Ajax est aussi simple que d'imprimer une cha?ne.
La première chose que fait Storeaddress est d'initialiser une variable appelée $ message à un espace non révolutionnaire. Ensuite, il s'assure que le script a re?u une adresse e-mail dans la cha?ne de requête. Si ce n'est pas le cas, nous laisserons un ensemble de variables de message $ comme un espace non révolutionnaire. $ le message sera retourné à l'appelant à la fin de cette fonction.
CREATE TABLE `mailinglist` ( <br> ?`id` INT NOT NULL AUTO_INCREMENT , <br> ?`email` TEXT NOT NULL , <br> ?PRIMARY KEY ( `id` ) <br> );
Une fois que nous sommes certains que nous avons une adresse e-mail pour travailler, nous voulons nous assurer que c'est une adresse valide. Nous utiliserons une expression régulière pour rechercher des caractères alphanumériques suivis du @ symbole, plus de caractères alphanumériques, une période et des caractères plus alphanumériques. Si ce test échoue, nous allons définir un message $ sur un message d'erreur, informant l'utilisateur que l'adresse e-mail saisie n'était pas valide:
<?php <br> require_once("inc/storeAddress.php"); <br> echo(storeAddress()); <br> ?>
Si l'adresse passe ce test, nous le stockons dans la base de données. Pour ce faire, nous nous connectons à MySQL, sélectionnons la base de données et exécutons notre requête d'insertion. Si l'adresse a été stockée correctement, nous définissons $ message sur un message de réussite; Sinon, nous définissons $ message sur un message d'erreur.
function storeAddress() { <br> ?$message = " "; <br> ?// Check for an email address in the query string <br> ?if( !isset($_GET['address']) ){ <br> ? ?// No email address provided <br> ?}
Enfin, nous retournons $ message à ajaxserver.php:
?else { <br> ? ?// Get email address from the query string <br> ? ?$address = $_GET['address']; <br> ? ?// Validate Address <br> ? ?if(!preg_match("/^[_a-z0-9-]+(.[_a-z0-9-]+)*@ <br> ? ?[a-z0-9-]+(.[a-z0-9-]+)*$/i", $address)) { <br> ? ? ?$message = "<strong>Error</strong>: An invalid email address was provided."; <br> ? ?}
Maintenant, chargez la page, entrez votre adresse e-mail et soumettez le formulaire - vous devriez voir votre adresse e-mail ajoutée à la table de liste de diffusion sans recharger la page. Même si vous désactivez JavaScript, la page fonctionnera de manière très similaire, sauf qu'au lieu d'insérer la sortie de Storeaddress dans la page à l'aide de JavaScript, il est inséré directement dans le HTML dans le code PHP de la page.
Ajax fait vraiment de l'inscription à votre liste de diffusion un morceau de gateau. Il n'y a pas d'attente pour que la page recharge, ce qui interrompt l'expérience de navigation de votre visiteur, et il n'est pas nécessaire d'exclure ceux qui parcourent avec JavaScript handicapé. Le prototype rend le processus de création de fonctionnalités AJAX rapidement et indolore, vous permettant de rester en contact étroit avec les fans de votre site.
Les questions fréquemment posées (FAQ) sur l'utilisation de l'Ajax avec PHP pour créer une liste de diffusion
Comment puis-je utiliser AJAX avec PHP pour créer une liste de diffusion?
AJAX, qui signifie JavaScript asynchrone et XML, est une technique de développement Web utilisée pour créer des applications Web interactives. PHP est un langage de script c?té serveur con?u pour le développement Web. Lorsqu'il est combiné, Ajax et PHP peuvent être utilisés pour créer une liste de diffusion en envoyant des données d'un formulaire à un script c?té serveur (PHP) sans rafra?chir la page. Cela se fait à l'aide de l'objet XMLHttpRequest dans Ajax, qui communique avec le serveur et met à jour le contenu de la page de manière asynchrone.
Quel est le r?le de l'objet XMLHTTPREQUEST dans AJAX?
L'objet XMLHTTPREQUEST dans AJAX? Il est utilisé pour envoyer et recevoir des données d'un serveur de manière asynchrone, ce qui signifie qu'il échange des données dans les coulisses avec le serveur et met à jour les parties d'une page Web sans recharger toute la page.
Comment puis-je gérer les réponses AJAX dans PHP?
Les réponses AJAX peuvent être gérées par PHP en utilisant l'écho. L'instruction ECHO est utilisée pour produire une ou plusieurs cha?nes. Dans le contexte de l'AJAX, l'instruction ECHO peut être utilisée pour renvoyer une réponse à la demande Ajax.
Comment puis-je utiliser jQuery avec Ajax et PHP?
jQuery est une bibliothèque JavaScript rapide, petite et riche en fonctionnalités. Cela rend des choses comme la traversée et la manipulation de documents HTML, la gestion des événements et l'animation beaucoup plus simples avec une API facile à utiliser qui fonctionne à travers une multitude de navigateurs. Avec une combinaison de polyvalence et d'extensibilité, JQuery a changé la fa?on dont des millions de personnes écrivent JavaScript. Vous pouvez utiliser les méthodes AJAX de JQuery pour envoyer des demandes HTTP asynchrones à vos scripts PHP.
Comment puis-je déboguer Ajax et PHP?
Le débogage AJAX et PHP peut être un peu délicat parce que Ajax fonctionne asynchronisé. Cependant, vous pouvez utiliser les outils de développeur du navigateur pour inspecter les demandes et les réponses de l'AJAX. Vous pouvez également utiliser les fonctions de rapport d'erreur de PHP pour attraper et gérer les erreurs dans vos scripts PHP.
Comment puis-je gérer les erreurs dans AJAX et PHP?
Gestion des erreurs dans AJAX et PHP peut être effectuée en utilisant la méthode Error () dans Ajax et la fonction DIE () dans PHP. La méthode Error () est appelée si la demande échoue. La fonction Die () imprime un message et quitte le script actuel.
Comment puis-je utiliser AJAX pour soumettre un formulaire à un script PHP?
Vous pouvez utiliser la méthode post () d'Ajax pour soumettre un formulaire à un script PHP. La méthode post () envoie une demande de post au serveur, et elle peut envoyer des données de formulaire à traiter par le script PHP.
Comment puis-je utiliser AJAX pour mettre à jour une base de données à l'aide de PHP?
Vous pouvez utiliser AJAX pour envoyer des données à un script PHP, qui peut ensuite mettre à jour une base de données. Cela se fait à l'aide de la méthode post () dans AJAX, qui envoie une demande de post au serveur avec les données à mettre à jour.
Comment puis-je utiliser AJAX pour récupérer des données à partir d'une base de données à l'aide de PHP?
Vous pouvez utiliser AJAX pour envoyer une demande à un script PHP pour récupérer les données d'une base de données. Le script PHP peut ensuite renvoyer une réponse à la demande AJAX avec les données récupérées.
Comment puis-je utiliser AJAX pour supprimer les données d'une base de données à l'aide de PHP?
Vous pouvez utiliser AJAX pour envoyer une demande à un script PHP pour supprimer les données d'une base de données. Le script PHP peut ensuite renvoyer une réponse à la demande AJAX pour confirmer que les données ont été supprimées.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Il existe trois fa?ons courantes d'initier des demandes HTTP dans Node.js: utilisez des modules intégrés, Axios et Node-Fetch. 1. Utilisez le module HTTP / HTTPS intégré sans dépendances, ce qui convient aux scénarios de base, mais nécessite un traitement manuel de la couture des données et de la surveillance des erreurs, tels que l'utilisation de https.get () pour obtenir des données ou envoyer des demandes de post via .write (); 2.AXIOS est une bibliothèque tierce basée sur la promesse. Il a une syntaxe concise et des fonctions puissantes, prend en charge l'async / attendre, la conversion JSON automatique, l'intercepteur, etc. Il est recommandé de simplifier les opérations de demande asynchrones; 3.Node-Fetch fournit un style similaire à la récupération du navigateur, basé sur la promesse et la syntaxe simple

Les types de données JavaScript sont divisés en types primitifs et types de référence. Les types primitifs incluent la cha?ne, le nombre, le booléen, le nul, un non défini et le symbole. Les valeurs sont immuables et les copies sont copiées lors de l'attribution des valeurs, de sorte qu'elles ne se affectent pas; Les types de référence tels que les objets, les tableaux et les fonctions stockent les adresses de mémoire, et les variables pointant vers le même objet s'afferchent mutuellement. Le typeof et l'instance de OFF peuvent être utilisés pour déterminer les types, mais prêtent attention aux problèmes historiques de typeofnull. Comprendre ces deux types de différences peut aider à écrire un code plus stable et fiable.

Bonjour, développeurs JavaScript! Bienvenue dans JavaScript News de cette semaine! Cette semaine, nous nous concentrerons sur: le différend de marque d'Oracle avec Deno, les nouveaux objets Time JavaScript sont pris en charge par les navigateurs, les mises à jour Google Chrome et certains outils de développeurs puissants. Commen?ons! Le différend de marque d'Oracle avec la tentative de Deno Oracle d'enregistrer une marque "JavaScript" a provoqué la controverse. Ryan Dahl, le créateur de Node.js et Deno, a déposé une pétition pour annuler la marque, et il pense que JavaScript est un niveau ouvert et ne devrait pas être utilisé par Oracle

La promesse est le mécanisme central pour gérer les opérations asynchrones en JavaScript. Comprendre les appels de cha?ne, la gestion des erreurs et les combinants est la clé pour ma?triser leurs applications. 1. L'appel de la cha?ne renvoie une nouvelle promesse à travers. Puis () pour réaliser la concaténation des processus asynchrones. Chaque .then () re?oit le résultat précédent et peut renvoyer une valeur ou une promesse; 2. La gestion des erreurs doit utiliser .catch () pour attraper des exceptions pour éviter les défaillances silencieuses, et peut renvoyer la valeur par défaut dans Catch pour continuer le processus; 3. Combinateurs tels que promesse.all () (réussi avec succès uniquement après tout succès), promesse.race () (le premier achèvement est retourné) et promesse.allsetTled () (en attente de toutes les achèvements)

Cacheapi est un outil fourni par le navigateur pour mettre en cache les demandes de réseau, qui est souvent utilisée en conjonction avec travailleur de service pour améliorer les performances du site Web et l'expérience hors ligne. 1. Il permet aux développeurs de stocker manuellement des ressources telles que des scripts, des feuilles de style, des photos, etc.; 2. Il peut faire correspondre les réponses du cache en fonction des demandes; 3. Il prend en charge la suppression des caches spécifiques ou la nettoyage du cache entier; 4. Il peut mettre en ?uvre des stratégies de priorité de cache ou de priorité de réseau grace à l'écoute des événements Fetch; 5. Il est souvent utilisé pour le support hors ligne, accélérez la vitesse d'accès répétée, préchargement des ressources clés et du contenu de mise à jour des antécédents; 6. Lorsque vous l'utilisez, vous devez faire attention au contr?le de la version du cache, aux restrictions de stockage et à la différence entre le mécanisme de mise en cache HTTP.

La boucle d'événement de JavaScript gère les opérations asynchrones en coordonnant les piles d'appels, les webapis et les files d'attente de taches. 1. La pile d'appels exécute du code synchrone, et lors de la rencontre de taches asynchrones, il est remis à WebAPI pour le traitement; 2. Une fois que le WebAPI a terminé la tache en arrière-plan, il met le rappel dans la file d'attente correspondante (macro tache ou micro tache); 3. La boucle d'événement vérifie si la pile d'appels est vide. S'il est vide, le rappel est retiré de la file d'attente et poussé dans la pile d'appels pour l'exécution; 4. Micro taches (comme Promise. puis) ??prendre la priorité sur les taches macro (telles que Settimeout); 5. Comprendre la boucle d'événements permet d'éviter de bloquer le thread principal et d'optimiser l'ordre d'exécution du code.

Les bulles d'événements se propagent de l'élément cible vers l'extérieur vers le n?ud d'ancêtre, tandis que la capture d'événements se propage de la couche externe vers l'intérieur vers l'élément cible. 1. événements Bubbles: Après avoir cliqué sur l'élément enfant, l'événement déclenche l'auditeur de l'élément parent vers le haut. Par exemple, après avoir cliqué sur le bouton, il sortira d'abord cliqué sur l'enfant, puis parent. 2. Capture d'événement: définissez le troisième paramètre sur true, afin que l'auditeur soit exécuté dans l'étape de capture, tels que le déclenchement de l'écouteur de capture de l'élément parent avant de cliquer sur le bouton. 3. Les utilisations pratiques incluent la gestion unifiée des événements d'éléments enfants, le prétraitement d'interception et l'optimisation des performances. 4. Le flux d'événements DOM est divisé en trois étapes: capture, cible et bulle, et l'écouteur par défaut est exécuté dans l'étape de la bulle.

Dans les tableaux JavaScript, en plus de la carte et du filtre, il existe d'autres méthodes puissantes et rarement utilisées. 1. La réduction peut non seulement résumer, mais également compter, se regrouper, aplatir les tableaux et construire de nouvelles structures; 2. Find et FindIndex sont utilisés pour trouver des éléments ou des index individuels; 3.Il et tout sont utilisés pour déterminer si les conditions existent ou que toutes les personnes se rencontrent; 4.Sort peut être trié mais changera le tableau d'origine; 5. Faites attention à la copie du tableau lorsque vous l'utilisez pour éviter les effets secondaires. Ces méthodes rendent le code plus concis et efficace.
