Un formulari de comentaris és un atribut obligatori de qualsevol lloc creat per resoldre problemes greus. Una de les maneres més senzilles d'organitzar un correu electrònic d'un visitant del lloc al seu propietari és utilitzar l'ordre de correu PHP. A continuació es mostra una instrucció pas a pas sobre com fer-ho.
És necessari
Coneixements bàsics de llenguatges PHP i HTML
Instruccions
Pas 1
Pas 1: creeu un document php nou.
En qualsevol editor de text (per exemple, en el bloc de notes estàndard) creeu un document nou. Introduïu-hi immediatament el marc del codi html de la pàgina, que complementareu durant la creació del mecanisme d’enviament de missatges de correu electrònic:
S’envia un missatge de correu electrònic
Pas 2
Pas 2: afegiu un formulari html al vostre document.
Ara cal afegir entre les etiquetes html i les instruccions perquè el navegador mostri un formulari perquè el visitant pugui introduir dades i enviar-les al servidor. En primer lloc, l’etiqueta inicial del formulari:
L'atribut de mètode especifica com el navegador ha d'enviar informació al servidor.
Aquí heu d'inserir una instrucció en php: mostrarà un missatge per al visitant després d'enviar les dades al servidor i que siguin processades per l'script:
La següent línia formarà un camp en què el visitant ha d’introduir el seu nom:
El teu nom:
Aquí l'atribut type especifica el tipus d'aquest element de formulari: un quadre de text senzill. I l'atribut name és el nom de la variable en què es transmetrà la informació introduïda en aquest camp al servidor - nom. Etiqueta
- "una devolució de carro".
A continuació, heu de donar al visitant l’oportunitat d’especificar la seva adreça de correu electrònic per contactar-hi:
Correu electrònic:
Aquí tot és similar a la línia anterior. El nom de la variable en què s'enviarà l'adreça de correu electrònic del visitant al servidor és el correu electrònic.
Ara cal afegir un camp de text de diverses pàgines (etiqueta textarea) per introduir el text del missatge:
Missatge:
Els atributs de files i cols especifiquen la mida d’aquest camp: files especifica el nombre de files i cols especifica el nombre de caràcters de cada fila. El text introduït s'enviarà en una variable anomenada mess.
Després de tots els camps, afegiu un botó per enviar un missatge:
L'atribut de valor d'aquesta etiqueta conté el text de l'etiqueta al botó ("Envia").
Perquè l’script php funcioni, caldrà una variable més, que s’ha d’enviar juntament amb les dades del formulari. Col·loqueu-lo en un element de formulari amagat pel visitant:
El nom d'aquesta variable és "act" i el valor passat és "enviar".
L’únic que queda per fer és afegir l’etiqueta de formulari de tancament:
Pas 3
Pas 3: afegiu codi PHP per processar les dades del formulari.
En prémer el botó "Envia", el visitant enviarà la informació introduïda per ell. Com que no hi ha cap atribut d'acció a l'etiqueta de formulari, que ha d'indicar l'adreça d'Internet de l'script per enviar les dades, s'enviaran a l'adreça de la mateixa pàgina. Per tant, heu d’afegir instruccions php al codi html d’aquesta pàgina per rebre, validar i enviar dades del formulari a la vostra adreça de correu electrònic.
Han de començar amb l'etiqueta php d'obertura:
<? php
A la línia següent, especifiqueu una variable que contindrà el missatge per al visitant. Mentre està buit:
$ msg = ;
Ara l'script hauria de comprovar si les dades s'han enviat des del formulari. El servidor, que rep les dades enviades pel mètode POST, les col·loca en una matriu superglobal anomenada $ _POST. Per tant, l'script ha de comprovar si hi ha informació del formulari en aquesta matriu. És possible que el visitant no hagi omplert cap dels camps, però la variable oculta encara ha d’estar present; comprovarem la seva presència:
if ($ _ POST ['act'] == "enviar") {
Si hi ha aquesta variable, s'executarà el següent bloc d'instruccions de script. Per comoditat, al principi d’aquest bloc, col·loqueu variables que podeu modificar més endavant:
$ email_length = 500;
Aquest és el nombre màxim de caràcters permès al missatge d'un visitant.
$ email_html = fals;
Si l'usuari introdueix etiquetes html al missatge, l'script les tallarà. Si s'han de deixar, substituïu el valor fals d'aquesta variable per true.
$ email_recepient = "[email protected]";
Aquesta és la vostra adreça de correu electrònic a la qual l’script ha d’enviar missatges dels visitants.
$ email_subject = "Missatge d'un visitant del lloc";
La variable conté el text que s’indicarà a l’assumpte del correu electrònic que se us ha enviat.
$ email_regex = "/ ^ (([^ () .,;: / s @ "] + (. [^ () .,;: / s @ ") +) *) | (". + ")) @ (([0-9] {1, 3}. [0-9] {1, 3}. [0-9] {1, 3}. [0-9] {1, 3}]) | (([a-zA-Z / -0-9] + \.) + [A-zA-Z] {2,})) $ / ";
Aquesta variable no s'ha de canviar: conté el patró d'expressió regular que utilitza l'script per validar el format de l'adreça de correu electrònic introduïda pel visitant al camp de correu electrònic. La següent línia contindrà aquesta comprovació:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = "S'ha especificat una adreça de correu electrònic no vàlida.";
Si el visitant ha indicat clarament l'adreça incorrecta per posar-se en contacte amb ell, l'script mostrarà un missatge sobre això. Tots aquests missatges es resumeixen a la variable $ msg fins al final de l'script.
Ara es comprova la presència del text del missatge en si:
if (! $ _ POST ['mess']) $ msg. = "Cap missatge de text";
Si el visitant va deixar el camp de text buit, s'afegirà un missatge sobre això a la variable $ msg.
Si a la variable $ email_html heu especificat l'eliminació de les etiquetes html del text del missatge, l'script ho farà a les dues línies següents:
$ userMess = $ _POST ['mess'];
if (! $ email_html) $ userMess = strip_tags ($ userMess);
I al final de totes les comprovacions: comproveu la longitud del missatge:
if (strlen ($ userMess)> $ email_length) $ msg. = "El text del missatge és més llarg que la longitud permesa ($ caràcters de email_length).
n ;
Si almenys una de les comprovacions ha fallat, la variable $ msg ja no està buida. A continuació, heu de completar tots els missatges d'error que s'hi registren; afegiu el text "Error" i configureu l'ombra del vermell:
if ($ msg) $ msg = "Error: $ msg";
I si es passen els xecs, prepareu les dades per enviar-les a la vostra adreça:
més {
$ userMess = "Nom:". $ _ POST ['nom']."
n ---
n ". $ userMess."
n
n ---
n ;
$ headers = "Tipus de contingut: text / html; charset = windows-1251 / n";
$ headers. = "De: / nX-Mailer: siteMailer";
La següent línia inicia el correu del servidor i envia el missatge preparat:
mail ($ email_recepient, $ email_subject, $ userMess, $ headers);
Ara queda redactar un missatge per al visitant que ha enviat el seu missatge:
$ msg = El vostre missatge s'ha enviat. Gràcies!
n ;
}
}
?>
Pas 4
Pas 4: allotgeu la pàgina al servidor.
Deseu la pàgina php creada amb el nom i l'extensió php que necessiteu i pengeu-la al servidor al vostre lloc.
Per descomptat, es tracta d'una pàgina "nua", que heu de dissenyar de la mateixa manera que la resta de pàgines del vostre lloc. O bé, agafeu els elements d’aquesta pàgina i afegiu-los a una pàgina existent al lloc.