Formulaire de retour sur PHP avec envoi à l'e-mail. Formulaire de commentaires sur PHP avec l'envoi à la rétroaction de formulaire de courrier électronique sur PHP

Vous avez un JavaScript bloqué dans votre navigateur. Autoriser JavaScript pour fonctionner le site!

Travailler avec des formes

Les formulaires HTML sont utilisés pour transférer des données de la page Web de la page Web. Pour travailler avec des formulaires dans PHP, un certain nombre de fonds spéciaux.

Variables prédéfinies

En PHP, il existe un certain nombre de variables prédéfinies qui ne changent pas lors de l'exécution de toutes les applications dans un environnement spécifique. Ils sont également appelés variables d'environnement ou variables. Ils reflètent les paramètres du serveur Web d'Apache, ainsi que des informations sur la demande de ce navigateur. Il est possible d'obtenir des valeurs d'URL, des chaînes de requête et d'autres éléments de requête HTTP.

Toutes les variables prédéfinies sont contenues dans la matrice associative GLOBAL $. Outre les variables d'environnement, cette matrice contient également des variables globales définies dans le programme.

Exemple 1.

Vue $ Globals Array $ Valeur) echo "\\ $ globals [\\" $ key \\ "] \u003d\u003d $ valeur
"; ?>

En conséquence, une liste de toutes les variables globales apparaîtra à l'écran, y compris les variables d'environnement. Le plus couramment utilisé d'eux:

VariableLa descriptionImeuble
$ _Server ["http_user_agent"]]Nom et version clientMozilla / 5.0 (compatible; GoogleBot / 2.1; + http: //www.google.com/bot.html)
$ _Server ["Remote_addr"]adresse IP144.76.78.3
getenv ("http_x_forwarded_for"))Adresse IP du client interne
$ _Server ["demande_method"]Méthode de demande (obtenir ou poster)Obtenir.
$ _Server ["Query_string"]Lors de la demande d'obtenir des données codées transmises avec l'URL
$ _Server ["demande_url"]Adresse complète du client, y compris une chaîne de requête
$ _Server ["http_referer"]L'adresse de la page avec laquelle la demande a été faite
$ _Server ["php_self"]Chemin vers le programme étant exécuté/Index.php.
$ _Server ["nom_serveur"]]Domainesite Internet
$ _Server ["request_uri"]Chemin/Php/php_form.php.

Traitement de saisie de l'utilisateur

Le programme de traitement d'entrée PHP peut être séparé du texte HTML contenant des moules d'entrée, et vous pouvez organiser une page sur une page.

Exemple 2.

Un exemple de traitement d'entrée

"Méthode \u003d" Post "\u003e

Numéro de carte:



Il n'y a pas de bouton de transfert de données ici, car Un formulaire composé d'un champ est transmis automatiquement lorsque vous appuyez sur la touche .

Lors du traitement d'un élément avec une sélection multi-valeurs pour accéder à toutes les valeurs sélectionnées, vous devez ajouter quelques supports carrés au nom de l'élément. Pour sélectionner plusieurs ellemens, maintenez la touche CTRL enfoncée.

Exemple 3.1.

Lister



Le résultat de l'exemple 3.1:

Exemple 3.2.

Liste de traitement du fichier EX1.HTM

    "; Foreach ($ d'article comme $ valeur) écho"
  • $ Valeur "; echo"
"; ?>

Exemple 4. Recevoir des valeurs de cas de cocher-indicateurs

$ V) (si ($ V) écho "Vous connaissez la langue de programmation $ K!
"; Sinon echo" Vous ne connaissez pas la langue de programmation K.
"; } } ?>
"Méthode \u003d" POST "\u003e Quelles langues de programmation connaissez-vous?
Php.
Perl

Le résultat de l'exemple 4:

Exemple 5.

"; ?>
"Méthode \u003d" Post "\u003e

Vous pouvez gérer des formes, sans vous soucier des noms de champs réels.

Pour ce faire, vous pouvez utiliser (en fonction de la méthode de transmission) un tableau associatif de $ http_get_vars ou $ http_post_vars. Ces tableaux contiennent des paires nom / valeur pour chaque élément du formulaire transmis. Si vous ne vous souciez pas, vous pouvez utiliser un tableau associatif $ _Request.

Exemple 6.

Traitement d'une entrée arbitraire quelle que soit la méthode de transfert $ Valeur) echo "$ clé \u003d\u003d $ valeur
"; ?>

Exemple 7. Appuyez sur le bouton à l'aide de l'opérateur "@".

">

À l'aide de la fonction d'en-tête (), envoyez l'en-tête du navigateur, vous pouvez rediriger l'utilisateur à une nouvelle page.

Par example:

Transfert de fichier sur le serveur. Versez le fichier. Télécharger

PHP vous permet de transmettre des fichiers au serveur. Le formulaire HTML conçu pour transmettre le fichier doit contenir l'argument ectype \u003d "multipart / form-données".

De plus, un champ caché avec le nom max_file_size doit être sous le formulaire devant le fichier pour copier le fichier. La taille maximale du fichier transmis doit être enregistrée dans ce champ masqué (généralement pas plus de 2 Mo).

Le champ lui-même est de transférer le fichier - l'élément d'entrée habituel avec l'argument de type \u003d "Fichier".

Par example:

"Méthode \u003d" Post "\u003e

Une fois le fichier transféré sur le serveur, il reçoit un nom unique et stocké dans le répertoire des fichiers temporaires. Le chemin complet du fichier est enregistré dans la variable globale dont le nom correspond au nom de champ pour transférer ce fichier. De plus, PHP conserve quelques informations supplémentaires sur le fichier transmis dans d'autres variables globales:

Exemple 8.

Traitement du fichier transféré "; Echo" nom: "$ _ fichiers [" userfile "] [" nom "]."
"; Echo" Taille: "$ _ Fichiers [" userfile "] [" Taille "]."
"; Echo" Type: ". $ _ Fichiers [" userfile "] [" Type "]".
"; } ?>
"Méthode \u003d" Post "\u003e



Exemples de téléchargement de fichiers sur le serveur

S'il y a des problèmes avec le serveur de transcodage du fichier téléchargé, le symbole de code 0x00 Remplacé par un espace (symbole de code 0x20), Ajouter au fichier httpd.conf. Dans le catalogue Apache (/ USR / local / Apache), les lignes suivantes.

Charsetrecodemultiparports

L'un des avantages les plus importants de PHP est de savoir comment cela fonctionne avec des formulaires HTML. Ici, l'essentiel est que chaque élément du formulaire soit automatiquement disponible pour vos programmes PHP. Pour des informations détaillées sur l'utilisation de formulaires en PHP, lisez la section. Voici un exemple de formulaire HTML:

Exemple # 1 formulaire HTML simple

Votre nom:

Ton âge:

Dans ce formulaire, il n'y a rien de spécial. Ceci est une forme HTML ordinaire sans balises spéciales. Lorsque l'utilisateur remplit le formulaire et appuyez sur la touche Envoyer, la page Action.PHP sera appelée. Ce fichier peut être quelque chose comme:

Exemple # 2 Affiche ces formulaires

Bonjour, .
Toi années.

Un exemple de la production de ce programme:

Bonjour, Sergey. Vous avez 30 ans.

Si vous ne prenez pas compte des morceaux de code avec htmlspecialchars () et (int)Le principe de fonctionnement de ce code devrait être simple et compréhensible. htmlspecialchars () Fournit le codage correct des caractères HTML "spéciaux" afin que HTML ou JavaScript malveillant soit inséré dans votre page. Le champ d'âge, sur lequel nous savons que cela devrait être un nombre, nous pouvons simplement convertir en entierCela nous relève automatiquement de caractères non désirés. PHP peut également le faire automatiquement à l'aide de l'extension du filtre. Variables $ _Post ["Nom"] et $ _Post ["Âge"] automatiquement installé pour vous Tools PHP. Plus tôt, nous avons utilisé la variable de $ _Server Superglobal, nous utilisons ici également la variable Superglobal $ _Post, qui contient toutes les données post-publications. remarquerez que envoi (Méthode) Notre formulaire est Post. Si nous avons utilisé la méthode Obtenir.Les informations de notre formulaire seraient dans une variable superglobale $ _GET. De plus, vous pouvez utiliser la variable $ _Request si la source de données n'a pas d'importance. Cette variable contient un mélange de données obtenir, post, cookie.

IL Y A 15 ANS.

Selon la spécification HTTP, vous devez utiliser la méthode postale lorsque vous utilisez le formulaire pour modifier l'état de quelque chose sur l'extrémité du serveur. Pour Exlow, si une page a un formulaire pour permettre à Allov Ajouter ses propres commentaires, comme Cette page ici, le formulaire devrait utiliser Post. Si vous cliquez sur "Recharger" ou "Actualiser" sur un message, c'est presque toujours une erreur - vous ne devriez pas enregistrer le même commentaire deux fois - c'est pourquoi ces pages arena " t bookmarked ou mis en cache.

Vous devez utiliser la méthode d'obtention lorsque votre formulaire est, eh bien, obtenez quelque chose du serveur et ne change rien. Par exemple, le formulaire d'un moteur de recherche doit utiliser GET changer tout ce que le client peut se soucier de tout ce que le client pourrait vous soucier de tout, et la mise en page ou la mise en cache des résultats d'une requête de moteur de recherche est tout aussi utile que le bookmarking ou la mise en cache d'une page HTML statique.

il y a 2 ans.

Vaut la peine de clarifier:

La poste n'est pas plus sécurisée que d'obtenir.

Les raisons de choisir GET VS Post impliquent divers facteurs tels que l'intention de la demande (sont des limites à la durée de la durée d'une URL, et d'obtenir des paramètres envoyés dans l'URL), et la manière dont vous voulez facilement que l'action soit partageable - exemple, Google Search ire obtenez car il facilite la copie et partager la requête de recherche avec quelqu'un d'autre simplement en partageant l'URL.

La sécurité n'est qu'une considération ici en raison du fait qu'un get est plus facile à partager qu'un poste. Exemple: vous ne voulez pas qu'un mot de passe soit envoyé par obtenir, car l'utilisateur peut partager l'URL résultante et exposer par inadvertance leur mot de passe.

Cependant, un message d'arrivée et un post Aer également facile à intercepter par une personne malveillante bien placée si vous ne déployez pas TLS / SSL pour protéger la connexion réseau elle-même.

Tous les formulaires envoyés sur HTTP (Usally Port 80) sont insécurités et aujourd'hui (2017), il existe de nombreuses bonnes raisons d'un site Web public pour ne pas utiliser HTTPS (qui est fondamentalement HTTP + Security de la couche de transport).

En tant que bonus, si vous utilisez des TLS, vous minimisez le risque que vos utilisateurs reçoivent le code (ADS) injecté dans votre trafic qui n'était pas là par vous.

Dans cette leçon, nous vous familiariserons avec la fonction poster (), sur l'exemple de créer formulaires de retour sur PHP Avec les données d'envoi ultérieures au courrier.

Pour ce faire, créez deux fichiers - forma.php. et mail.php.. Dans le premier fichier, il n'y aura qu'un formulaire avec des champs pour entrer dans l'utilisateur. Étiquette intérieure forme - Bouton "E-mail" Et attribuer action.qui fait référence au gestionnaire - mail.php., C'est à cela que les données du formulaire sont affichées lorsque vous appuyez sur le bouton. "E-mail". Dans notre exemple, ces formulaires sont envoyés à une page Web intitulée "/Mail.php". Cette page a enregistré le script sur Php.qui traite les données de formulaire:


Ces formulaires sont envoyés par la méthode PUBLIER. (traité comme $ _Post.). $ _Post. - Il s'agit d'une gamme de variables transférées sur le script actuel via la méthode PUBLIER..

Vous trouverez ci-dessous le contenu du fichier forma.php.dont les champs remplissent l'utilisateur à un site Web. Tous les champs d'entrée sur le terrain doivent avoir un attribut nom., Nous prescrivons des valeurs vous-même basées sur la logique.




Formulaire de commentaires sur PHP avec envoi à la poste


Formulaire de retour sur PHP







Laisser un message:
Votre nom:



E-mail:

Numéro de téléphone:

Un message:

La zone de texte peut contenir un nombre illimité de caractères -\u003e









Donc, la forme regarde visuellement dans le navigateur.

Suivant Ecrire le code pour le fichier mail.php.. Invitez les noms pour les variables. DANS Php. la variable commence par un signe $ et puis le nom de la variable. La valeur de texte de la variable est des citations. Utilisation des variables sur un email administrateur, le contenu du formulaire est transmis, substituant simplement le nom de l'élément de formulaire en crochets - valeur nom..

$ to \u003d " "; // e-mail du destinataire des données du formulaire
$ Tema \u003d "Formulaire de retour sur PHP"; // Thème de l'Eamel reçu
$ Message \u003d "Votre nom:" $ _ POST ["NOM"]. "
"; // attribue une valeur variable obtenue à partir du nom Nom \u003d nom de nom
$ Message. \u003d "E-mail:". $ _ POST ["EMAIL"] ".
"; // obtenu à partir du nom de formulaire \u003d email
$ Message. \u003d "Numéro de téléphone:" $ _ POST ["Téléphone"]. "
"; // reçu du nom \u003d Formulaire de téléphone
$ Message. \u003d "Message:". $ _ POST ["message"] ".
"; // reçu du nom \u003d formulaire de message
$ Headers \u003d "MIME-Version: 1.0". "\\ r \\ n"; // titre correspond au format plus un symbole de traduction de chaîne
$ Headers. \u003d "Type de contenu: Texte / HTML; Charset \u003d UTF-8". "\\ r \\ n"; // indique le type de contenu envoyé
Mail ($ to, $ tema, $ message, $ headers); // envoie des valeurs variables au destinataire sur le courrier électronique
?>

Ainsi, les données de la matrice $ _Post. sera transféré sur les variables correspondantes et envoyée au mail à l'aide de la fonction poster. Compléons notre forme et cliquez sur le bouton Envoyer. N'oubliez pas de spécifier votre e-mail. La lettre est venue instantanément.

Avez-vous aimé l'article? Partager avec des amis: