En feedbackformular er en obligatorisk attribut for ethvert websted, der er oprettet for at løse alvorlige problemer. En af de enkleste måder at organisere en e-mail fra en besøgende til sit websted er at bruge kommandoen PHP mail. Nedenfor er en trinvis vejledning i, hvordan du gør dette.
Er det nødvendigt
Grundlæggende viden om PHP- og HTML-sprog
Instruktioner
Trin 1
Trin 1: Opret et nyt php-dokument.
Opret et nyt dokument i enhver teksteditor (for eksempel i standard notesblok). Indtast straks rammen af html-koden på siden, som du vil supplere under oprettelsen af mekanismen til afsendelse af e-mail-beskeder:
Afsendelse af en e-mail-besked
Trin 2
Trin 2: Føj en html-formular til dit dokument.
Nu skal du tilføje mellem html-tags og instruktioner til browseren for at vise en formular for den besøgende til at indtaste data og sende dem til serveren. Først åbningskoden for formularen:
Metodeattributten specificerer, hvordan browseren skal sende oplysninger til serveren.
Her skal du indsætte en instruktion i php - den viser en besked til den besøgende, når han sender dataene til serveren, og de behandles af scriptet:
Den næste linje danner et felt, hvor den besøgende skal indtaste sit navn:
Dit navn:
Her angiver typeattributten typen af dette formelement - et simpelt tekstfelt. Og navneattributten er navnet på den variabel, hvor de indtastede i dette felt overføres til servernavnet. Tag
- "en vognretur".
Dernæst skal du give den besøgende mulighed for at angive sin e-mail-adresse for at kontakte ham:
E-mail:
Alt her ligner den forrige linje. Navnet på den variabel, hvor e-mail-adressen til den besøgende vil blive sendt til serveren, er e-mail.
Nu skal vi tilføje et flersidet tekstfelt (tekstarea tag) for at indtaste meddelelsesteksten:
Besked:
Attributterne række og søjler angiver størrelsen på dette felt - rækker angiver antallet af rækker, og søjler angiver antallet af tegn i hver række. Den indtastede tekst sendes i en variabel med navnet rod.
Efter alle felterne skal du tilføje en knap for at sende en besked:
Værdiattributten for dette tag indeholder etiketten på knappen på knappen ("Send").
For at php-scriptet skal fungere, er der brug for en yderligere variabel, som skal sendes sammen med dataene fra formularen. Placer det i et formelement skjult for den besøgende:
Navnet på denne variabel er "handling", og den beståede værdi er "send".
Det eneste, der er tilbage at gøre, er at tilføje det afsluttende form-tag:
Trin 3
Trin 3: Tilføj php-kode for at behandle data fra formularen.
Ved at trykke på knappen "Send" sender den besøgende de oplysninger, han har indtastet. Da der ikke er nogen handlingsattribut i formtagget, som skal angive scriptets internetadresse for at sende dataene, sendes de til adressen på den samme side. Derfor skal du tilføje php-instruktioner til html-koden på denne side for at modtage, validere og sende data fra formularen til din e-mail-adresse.
De skal starte med det indledende php-tag:
<? php
På den næste linje skal du angive en variabel, der indeholder meddelelsen til den besøgende. Mens den er tom:
$ msg = ;
Nu skal scriptet kontrollere, om dataene blev sendt fra formularen. Serveren, der modtager data sendt efter POST-metoden, placerer dem i et superglobalt array med navnet $ _POST. Så scriptet skal kontrollere, om der er nogen oplysninger fra formularen i denne matrix. Den besøgende har muligvis ikke udfyldt nogen af felterne, men den skjulte variabel skal stadig være til stede - vi vil kontrollere dens tilstedeværelse:
hvis ($ _ POST ['act'] == "send") {
Hvis der er en sådan variabel, udføres den næste blok med scriptinstruktioner. For nemheds skyld placerer du i begyndelsen af denne blok variabler, som du kan ændre senere:
$ email_length = 500;
Dette er det maksimale antal tegn, der er tilladt i en besøgendes besked.
$ email_html = falsk;
Hvis brugeren indtaster html-tags i meddelelsen, bliver de klippet af scriptet. Hvis de skulle være tilbage, skal du erstatte den falske værdi af denne variabel med sand.
$ email_recepient = "[email protected]";
Dette er din e-mail-adresse, som scriptet skal sende beskeder fra besøgende til.
$ email_subject = "Besked fra en besøgende på stedet";
Variablen indeholder den tekst, der vil blive angivet i emnelinjen i den e-mail, der sendes til dig.
$ 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,})) $ / ";
Denne variabel bør ikke ændres - den indeholder det regulære udtryksmønster, der bruges af scriptet til at validere formatet på den e-mail-adresse, der er indtastet af den besøgende i e-mail-feltet. Den næste linje indeholder denne kontrol:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = "Der blev angivet en ugyldig e-mail-adresse.";
Hvis den besøgende tydeligt har angivet den forkerte adresse for at kontakte ham, viser scriptet en besked om dette. Alle sådanne meddelelser opsummeres i $ msg-variablen indtil slutningen af scriptet.
Kontroller nu for tilstedeværelsen af selve meddelelsesteksten:
if (! $ _ POST ['mess']) $ msg. = "Ingen beskedtekst";
Hvis den besøgende efterlod tekstfeltet tomt, tilføjes en besked om dette til variablen $ msg.
Hvis du i $ email_html-variablen har angivet fjernelsen af html-tags fra meddelelsesteksten, vil scriptet gøre dette på følgende to linjer:
$ userMess = $ _POST ['rod'];
hvis (! $ email_html) $ userMess = strip_tags ($ userMess);
Og i slutningen af alle kontroller - kontrol af længden af meddelelsen:
if (strlen ($ userMess)> $ email_length) $ msg. = "Beskedteksten er længere end den tilladte længde ($ email_length-tegn).
n ;
Hvis mindst en af kontrollerne mislykkedes, er variablen $ msg ikke længere tom. Derefter skal du udfylde alle de fejlmeddelelser, der er optaget i den - tilføj teksten "Fejl" og indstil skyggen af rødt:
if ($ msg) $ msg = "Fejl: $ msg";
Og hvis kontrollen er bestået, så klargør dataene til afsendelse til din adresse:
andet {
$ userMess = "Navn:". $ _ POST ['navn']."
n ---
n ". $ userMess."
n
n ---
n ;
$ headers = "Content-Type: text / html; charset = windows-1251 / n";
$ headers. = "Fra: / nX-Mailer: siteMailer";
Den næste linje starter din servers mailer og sender den forberedte besked:
mail ($ email_recepient, $ email_subject, $ userMess, $ headers);
Nu er det tilbage at komponere en besked til den besøgende om, at hans besked er sendt:
$ msg = Din besked er sendt. Tak!
n ;
}
}
?>
Trin 4
Trin 4: vært siden på serveren.
Gem den oprettede php-side med det navn og php-udvidelse, du har brug for, og upload den til serveren til dit websted.
Selvfølgelig er dette en "nøgen" side, du skal designe den på samme måde som resten af siderne på dit websted. Eller tag elementerne på denne side og tilføj dem til en eksisterende side på webstedet.