Cea mai simplă formă de trimitere a datelor prin e-mail folosind HTML și PHP. Formular de feedback. Mesajele de eroare din formular sunt vizibile și clare

Salutări cititorilor mei, am acumulat experiență și vă voi spune despre principiile de funcționare a formularului părere php. Vă voi arăta mai departe exemple clare, astfel încât să înțelegeți cum funcționează totul și cum are loc interacțiunea între formularul de intrare în sine (câmpurile sale de intrare) și fișierul de gestionare scris în PHP. În plus, puteți descărca gratuit sursele împreună cu .

Desigur, va fi grozav dacă aveți măcar puțină înțelegere a HTML/CSS, deoarece... Va trebui să trageți codul pe pagina dvs. prin analogie. limbaj PHP Nu ne vom atinge, vă voi arăta toate editările necesare pe care trebuie să le faceți pentru dvs.

UPDATE: Pe baza răspunsurilor cititorilor, mi-am dat seama că am nevoie de ceva mai frumos și mai funcțional, vă rog să mă întâlniți, să verificați și să aruncați o privire. Alege care iti place mai mult)

UPDATE2: Versiunea 3.0 Aterizare adaptivă + forma ajax cu transferul etichetelor UTM, citește și aruncă o privire. O să-ti placă

Mi-am adus aminte de mine când am încercat prima dată să creez un formular de feedback în PHP pe cont propriu și, să fiu sincer, a fost laborios, pentru că... Nu am înțeles ce și cum se întâmplă. Răbdare și perseverență, prieteni, și veți reuși.

Formular de feedback conexiuni php- structura

Vom studia analiza formularului de feedback în sine folosind un exemplu pagina de destinație (Pagina de destinație), apropo, există un articol separat despre. Puteți vedea cum funcționează acest lucru în acțiune folosind butoanele de mai jos, atașez sursele acestei pagini de o pagină și fișierul principal de gestionare php (acest fișier va procesa și va trimite e-mailul)

După descărcarea surselor și despachetarea arhivei, veți vedea următoarea structură de fișiere:

  • imagine - toate imaginile care sunt folosite pentru pagina de destinație în sine, butoane etc.
  • js - scripturi javascript, care oferă, de exemplu, o fereastră modală pop-up pe pagină și alte efecte vizuale
  • index.html - fișier index pagina noastră
  • index1.php - un fișier de gestionare în care sunt transferate valorile din formular, apoi o scrisoare este generată din variabilele primite și trimisă la adresa specificată Adresa de e-mail. Index1.php va acționa și ca o pagină intermediară de notificare despre trimiterea cu succes a datelor de la redirecționare automatăînapoi la index.html (adică pagina noastră de o pagină)

Este important ca găzduirea dvs., unde se află fișierele site-ului, să accepte procesarea PHP, altfel fișierul index1.php nu va fi executat și nu va funcționa. Pentru a clarifica această nuanță, contactați campania în care este înregistrată găzduirea dvs. sau doar testați-o - funcționează, înseamnă că există suport. Dacă nu, atunci activați opțiunea de suport pentru limbajul php

Aruncă o privire la diagrama modului în care toate elementele interacționează (pagină, formular, handler)

Cod sursă pentru apelarea formularului și handler-ului

Să aruncăm o privire la modul în care funcționează unul dintre butoane, care afișează o fereastră pop-up modală care conține un formular de feedback. Acest lucru dat sursă- nu este doar unul, două introduse pe pagină și va funcționa, va trebui să-l personalizați singur pentru a se potrivi designului și nevoilor dvs.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Solicitați o comandă de apel invers apel înapoi

Solicitați un apel înapoi Solicitați un apel înapoi

Mai jos este codul sursă complet al handler-ului index1.php, pentru a configura trimiterea către căsuța poștală, schimbați „ [email protected]„la dumneavoastră, restul, în principiu, poate fi lăsat neschimbat

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 Veți fi contactat

Veți fi contactat body ( background: #22BFF7 url(img/zakaz.jpg) top -70% center no-repeat; ) setTimeout("location.replace("/index.html")", 3000); /*Schimbați adresa curentă a paginii după 3 secunde (3000 milisecunde)*/

Verificarea funcționalității formularului

Apelați fereastra și introduceți datele pentru o verificare de testare a formularului nostru

Permiteți-mi să vă reamintesc încă o dată, găzduirea dvs. trebuie să susțină procesare php fișiere, altfel handlerul nostru pur și simplu nu va fi executat și nicio scrisoare nu va fi trimisă către e-mail specificat-abordare. Rezultatul unui formular de feedback completat cu succes


Asta e tot pentru mine, am încercat să transmit în cel mai bun mod posibil sensul și funcționarea scenariului. Dacă aveți întrebări, nu ezitați să mă contactați în comentarii sau pe VK (vezi detaliile de contact). iti doresc usor si munca productiva Pentru tine.

Formularul constă din următoarele blocuri:

  • Lista de comenzi.
    Pentru ca un vizitator al site-ului dvs. să nu fie nevoit să indice manual în formular numele produsului sau serviciului pe care dorește să îl comandă, datele sunt incluse automat aici atunci când faceți clic pe butonul pentru a adăuga un produs în formular. Puteți primi butoane de inițializare a comenzii în contul personal. O comandă poate conține simultan atâtea articole comerciale câte un vizitator al site-ului decide să comande.

    Dacă prețul este specificat în setările produsului, formularul va calcula automat costul întregii comenzi. Și dacă în setările produsului este setat atributul „se poate comanda mai multe produse”, atunci cantitatea va fi afișată în formular, iar costul total al comenzii va fi calculat din această cantitate.

  • Detaliile cumparatorului.
    În etapa finală a comenzii, vizitatorul își introduce datele în timpul plății. Numărul de câmpuri și numele acestora sunt arbitrare și pot fi configurate în contul personal al serviciului EasyNetShop. În acest caz, fiecare câmp poate fi setat la „Obligatoriu” și formularul de comandă nu va fi trimis până când câmpul obligatoriu nu este completat.
  • Butoane de control.
    Cumpărătorul poate finaliza comanda sau poate reveni pe site pentru a adăuga formularul bunuri suplimentare sau servicii.
  • Exemplu de cod html pentru adăugarea unui coș
    copiați oriunde pe pagină 1 dată

    Cod de testare pentru a plasa butonul CUMPARA
    plasați-l lângă descrierea produsului dorit Cumpără

    Puteți obține un cod de coș personal gata pregătit și coduri de butoane pentru a adăuga bunuri la acesta în contul dvs. personal:

    Avantajul formularului de comandă EasyNetShop

    Formularul nostru de comandă este realizat folosind tehnologia unui coș de mărfuri; înainte de a plasa o comandă, trebuie să-l ridicați. Această tehnologie are o serie de avantaje față de forma tradițională, care renunță atunci când dați clic pe butonul de lângă produs și nu formează o comandă:

    Încă câteva puncte pozitive în formularul de comandă EasyNetShop:
    • Îți amintește constant de acțiunea neterminată de a plasa o comandă.
    • Convenabil atunci când plasați o comandă cu dispozitive mobile deoarece jumătate din datele (despre produs și cantitate) sunt deja completate automat.
    • Vă permite să calculați nu numai suma comenzii, ci și costul de livrare, precum și o reducere.
    • Salvează datele când revii pe site dacă comanda nu a fost finalizată.
    • Vă permite să organizați procesul de plată online pentru o comandă finalizată.

    Formularul de comandă completat și transmis rămâne o formalitate chiar dacă se primește un răspuns de retur că cererea a fost primită. Acest lucru nu oferă cumpărătorului încredere 100% că achiziția a fost făcută. Nefiind primit un răspuns și neînțelegând dacă ar trebui să îl aștepte (cât timp), cumpărătorul va continua să caute produsul pe alte site-uri. Este cu totul altceva dacă cumpărătorul a plasat o comandă printr-un coș de cumpărături și a primit același răspuns automat care afirmă că numărul de comandă.... a fost finalizat. Aceasta nu mai este o formalitate.

    Există un anumit model așteptat de comportament al cumpărătorului pe site, dezvoltat de magazinele online tipice și aproape orice cumpărător va căuta butonul familiar „adăugați în coș”, apoi coșul în sine pentru a finaliza comanda. Deținerea unui formular de comandă pentru achiziționarea unui produs este o abatere de la comportamentul tipic al cumpărătorului și poate provoca o reacție incertă (de la dificultăți până la părăsirea site-ului)

    A devenit pur și simplu o necesitate pentru proprietarii de resurse de internet. Formularul de feedback este o caracteristică convenabilă care ajută utilizatorul să stabilească contactul cu autorul site-ului.

    Deci, în această postare veți învăța cum să creați rapid formă simplă feedback fără cunoștințe de HTML, CSS, PHP și chimie. Acest formular este gata de utilizare fără nicio problemă suplimentară.

    Ei bine, să începem să creăm un formular HTML simplu de feedback.

    Metoda-1

    Pasul 1
    Pentru a crea un formular de contact HTML pentru un site web, ar trebui să creați un fișier cu extensia „.PHP”. Dați fișierului un nume „mail.php” și introduceți următorul script în el:

    Deci, linia nr. 1 - aici indicați adresa paginii principale. După trimiterea mesajului, vizitatorul va fi redirecționat automat către adresa pe care o furnizați. Indicați, de asemenea, timpul după care vizitatorul va fi redirecționat pagina principala(Am 6 secunde).

    linia #2 - afișare codificare UTF-8

    linia #11 este cea mai importantă linie! În această linie trebuie să introduceți adresa dvs. de e-mail la care doriți să primiți mesaje de pe site.

    Pasul 2
    Introduceți codul terminat pentru formularul de feedback între etichete dintr-un fișier nou și denumiți fișierul, de exemplu „kontakt.html”.

    Formular de feedback..php" method="post">

    Numele dumneavoastră*

    E-mail*

    Subiectul mesajului

    Mesaj text:

    în rândul nr. 2 indicați calea către fișierul „mail.php”, în exemplul meu este https://site/mail.php

    Asta e tot. Dacă te oprești în această etapă, formularul tău de feedback va funcționa pe site, dar aspectul acestuia nu va fi foarte atractiv. Acest lucru poate fi remediat - trebuie să adăugați stiluri la formular într-un fișier CSS.

    Deci, introduceți acest cod în fișierul „style.css”:

    #submit (familie de fonturi: sans-serif; culoare: #ffffff; dimensiunea fontului: 18px; umplutură: 0px; decor text: niciuna; umbra casetă: 0px 1px 3px #666666; -webkit-box-shadow: 0px 1px 3px #666666; -moz-box-shadow: 0px 1px 3px #666666; text-shadow: 1px 1px 3px #666666; fundal: -webkit-gradient(linear, 0 0, 0 100%, from(#ce1515), la(#8b0d0d)); fundal: -moz-linear-gradient(sus, #ce1515, #8b0d0d); ) #submit:hover ( fundal: -webkit-gradient(liniar, 0 0, 0 100%, de la (#) 8b0d0d), to(#ce1515)); fundal: -moz-linear-gradient(sus, #8b0d0d, #ce1515) ) #respond input, textarea ( -webkit-transition: toate 0.30s ease-in-out; -moz -tranziție: toate 0,30 s ease-in-out; -ms-tranziție: toate 0,30 s ease-in-out; -o-tranziție: toate 0,30 s ease-in-out; contur: niciunul; umplutură: 3px 0px 3px 3px ; margine: 5px 1px 3px 0px; chenar: 1px solid #DDDDDD; ) #respond input:focus, textarea:focus (box-shadow: 0 0 5px rgba(81, 203, 238, 1); margine: 5px 1px 3px 0px ; chenar: 1px rgba solid(81, 203, 238, 1); )

    Acesta este formularul de feedback pe care ar trebui să-l primiți dacă ați făcut totul așa cum am descris.

    Dacă în formularul dvs., în loc de cuvinte normale care pot fi citite, vedeți doodle-uri, ca în exemplul de mai jos:

    apoi deschide fisierul "mail.php" si "kontakt.html" prin cel gratuit si in meniu mergi la
    „Encodings” => „Conversie în UTF-8 fără BOM”
    .

    Metoda-2

    Puteți face un singur fișier de feedback cu extensia „php”, de exemplu, cu numele „kontakt.php”, iar în acest fișier puteți scrie toate codurile, scripturile și stilurile pe care le-am descris chiar mai sus. Dar vom face în continuare câteva modificări la cod. Va arata asa:

    Design de link-uri #submit ( font-family: sans-serif; culoare: #ffffff; font-size: 18px; padding: 0px; text-decoration: none; box-shadow: 0px 1px 3px #666666; -webkit-box- umbră: 0px 1px 3px #666666; -moz-box-shadow: 0px 1px 3px #666666; text-shadow: 1px 1px 3px #666666; fundal: -webkit-gradient(liniar, 0 0, 0 100%, de la(#) ce1515 ), to(#8b0d0d)); fundal: -moz-linear-gradient(sus, #ce1515, #8b0d0d); ) #submit:hover ( fundal: -webkit-gradient(liniar, 0 0, 0 100%, de la (#8b0d0d), la (#ce1515)); fundal: -moz-linear-gradient (sus, #8b0d0d, #ce1515) ) #respond input, textarea ( -webkit-transition: toate 0.30s ease-in-out) ; -moz-tranziție: toate 0,30 s ease-in-out; -ms-transition: toate 0,30 s ease-in-out; -o-tranziție: toate 0,30 s ease-in-out; contur: niciunul; umplutură: 3px 0px 3px 3px; margine: 5px 1px 3px 0px; chenar: 1px solid #DDDDDD; ) #respond input:focus, textarea:focus (box-shadow: 0 0 5px rgba(81, 203, 238, 1); margine: 5px 1px 3px 0px; chenar: 1px rgba solid(81, 203, 238, 1); ) Formular de feedback.

    Numele dumneavoastră*

    E-mail*

    Subiectul mesajului

    Mesaj text:

    Atenție: Repet încă o dată: trebuie să salvați acest fișier în extensia „php”, altfel nu va funcționa.

    Acordați atenție rândului din codul 70. După cum puteți vedea, am lăsat „acțiune” goală, deoarece gestionarea formularului de feedback în sine se află într-un fișier.

    Asta e tot!!! Sper sa fie simplu formular HTML feedback-ul pentru site a fost foarte ușor pentru tine.

    Ți-a plăcut postarea? Ajutați-i pe ceilalți să învețe despre acest articol făcând clic pe butonul de rețele sociale ↓↓↓

    Primiți actualizări de blog!!! Abonati-va:

    Cele mai recente știri din categoria: Articole populare: 274 de răspunsuri la comentariu - HTML simplu formular de feedback pentru site

    Unde ar trebui să încarc apoi mail.php și kontakt.html și cum să afișez formularul pe o pagină separată?

    Încărcați mail.php și kontakt.html în găzduirea unde se află site-ul dvs. Pentru a fi mai precis - la rădăcina site-ului.
    kontakt.html este deja o pagină separată pentru formular (exemplul nr. 1). Poate te-am înțeles greșit?

    Nikolay răspunde:
    10.06.2016 ora 13:39

    Stepan, mulțumesc pentru formularul de feedback de lucru. L-am avut înainte, dar revenirea pe site nu a funcționat. Și ale tale funcționează! Vechiul meu nu a mai funcționat și l-am instalat pe al tău. S-a dovedit că pe 18 mai, mailul a introdus măsuri stricte de combatere a spam-ului și scrisorile au încetat să mai vină de pe site. A trebuit să trec la Yandexmail, totul este bine acolo deocamdată.
    Singurul lucru care mă îngrijorează este că nu există captcha în forma ta. Îmi puteți spune cum să-l adaug la același formular?

    Salut, Nikolay! Mi-ai dat unul nou subiect interesant. Cred că în această săptămână voi posta câteva articole pe tema „cel mai simplu formular de feedback”.
    Puteți aștepta?

    Dmitry răspunde:
    23.06.2016 ora 05:15

    Stepan, mulțumesc pentru scenariul minunat! Totul e minunat! Dar există o problemă, textul vine sub formă de pătrate negre (l-am bifat) ce ar putea fi? vă mulțumesc anticipat!

    Semyon răspunde:
    04.11.2016 ora 22:06

    Merită să spunem că există o altă modalitate de a plasa un formular de feedback pe site-ul dvs. - acesta este de utilizat serviciu online Care oferă designer vizual formulare web. De exemplu, îmi place serviciul în limba rusă – formdesigner.ru. După părerea mea, aceasta este o opțiune excelentă pentru începătorii cărora le lipsesc abilitățile de programare.

    Buna ziua! multumesc pentru articol interesant! Vă rugăm să scrieți ce să schimbați în style.css pentru a mări dimensiunea câmpurilor de introducere a datelor.

    Înțeles. Mulțumesc!

    Bună, Stepan. Am făcut totul conform indicațiilor, dar mesajele nu sunt trimise. Care ar putea fi problema.

    Multumesc pentru raspuns. Mi-am dat seama de prima metodă și totul funcționează. Ale mele
    a fost o greșeală. Cum pot face să apară mesajul de expediere?
    pop-up, mai degrabă decât într-o fereastră nouă. Multumesc daca raspunzi.

    Salut Stepan, mesajele mele nu sunt trimise, spun Eroare, mesaj nu a fost trimis, am făcut totul așa cum a fost scris și mi-am schimbat adresa de e-mail, iar acest lucru s-a întâmplat atât în ​​primul cât și în al doilea caz

    Salut Stepan, fișierele sunt găzduite pe hosting
    extensia de fișier în html și php și nu funcționează

    $mes = "Nume: $nume \nE-mail: $email \nSubiect: $sub \nText: $corp";

    Ce este în neregulă aici, vă rog să-mi spuneți în kontakt.html Am schimbat numele formularelor în loc de subiectul mesajului a devenit un număr de telefon și în loc de textul mesajului adresa de expediere

    Apare următoarea eroare: Eroare de analiză: eroare de sintaxă, T_STRING neașteptat în /home/rxlwxpct/public_html/mail.php pe linia 12

    Bună ziua, Stepan! Litera primită afișează numai litere și cifre în limba engleză. În loc de litere rusești este tipărit: ???????

    Salut, Vitaly! Poate exista o problemă cu codificarea fișierului „mail.php”. Codificarea trebuie să fie UTF-8; pentru a face acest lucru, deschideți editorul de text Notepad++. ÎN editor de text accesați meniul din partea de sus sub fila „Codificări” => „Conversie în UTF-8 (fără BOM)”. Citiți despre codificare.

    Vitaly răspunde:
    26.06.2014 ora 09:05

    Am făcut totul conform instrucțiunilor tale, dar situația nu s-a schimbat (în loc de litere rusești sunt afișate cuvinte nebunești)...
    ÎN setari generale Pe site-ul meu este indicat: codificarea folosită pe site este: windows-1251. Acest lucru afectează cumva rezultatul?

    Eu folosesc prima metoda. S-a încărcat mail.php și a fost creat pagină statică cu fișierul kontakt.html. Totul funcționează, dar este o problemă pe care am menționat-o...

    Stepan, l-am deschis editor de notepad++ mail.php și a făcut clic pe fila „Convertire în UTF-8 (fără BOM)”. Dar nu a ajutat... Mi-am schimbat și e-mailul de la mail.ru la yandex.ru. Același rezultat: în loc de litere rusești, sunt tipărite krakozyabrs...

    Vitaly, faci ceva greșit! Totul funcționează!


    Ti-am trimis un link pe email. Încercați, completați și trimiteți formularul.

    Vitaly răspunde:
    30.06.2014 ora 22:21

    Stepan, forma ta funcționează grozav. Ei bine, am greșit ceva... Spune-mi: ce?

    Stepan, scuze că sunt enervant, dar chiar vreau să-mi dau seama... Nu pot face nimic cu fișierele tale. Fac ceva greșit...

    Stepan, te rog spune-mi pas cu pas ce ar trebui să fac cu fișierul (1.html) pentru a crea o pagină statică?
    Copiez pur și simplu tot codul și îl transfer în html într-o pagină statică, apoi îl salvez. Poate fac ceva greșit?
    De asemenea, nu mi-am dat seama unde ar trebui inserat „style.css” în consecință. cod…

    buna ziua!va rog sa-mi spuneti daca site-ul nu este inca gazduit, dar inca il am in proces de creare pe hard disk... Am instalat formularul dar mesajul nu ajunge pe e-mail

    Buna ziua! Multumesc mult pentru formular, am folosit metoda nr 1, totul merge excelent. Dar poate că există o modalitate de a vă asigura că mesajul că scrisoarea a fost trimisă este afișat pe aceeași pagină?

    Buna ziua, multumesc pentru formular, se potriveste foarte bine site-ului, dar apare o problema, dupa ce apas pe butonul de trimitere mesajul nu este trimis, dar acest fisier mail.php este descarcat pe calculatorul meu, de ce? Multumesc =)

    Înțeleg totul, gazda mea nu acceptă php...mulțumesc =)

    Stepan, salut din nou. Vă rog să-mi spuneți, unde este afișat mesajul despre trimiterea cu succes (sau nu atât de reușită) a unui mesaj? Am facut-o dupa a doua metoda, totul a iesit, sosesc scrisorile, dar nu sunt mesaje
    Mulțumesc.

    O zi buna. Super articol! Totul este foarte clar! Grozav, am căutat timp de 4 zile cum să fac un formular într-un mod foarte format detaliat si lumina. Site-ul dvs. este pur și simplu un punct culminant pe Internet. Am o întrebare pentru tine, Stepan. Chestia este că, după ce trimit un mesaj, nu vreau să existe o tranziție la pagina principala. Puteți face ceva pentru ca mesajul să apară - mesajul dvs. a fost trimis. Asta e tot?

    Mulțumesc Stepan și o ultimă întrebare. Așa că vreau doar să fie posibil să trimit un mesaj fără nume și e-mail. Voi primi acest cod

    Mesaj text:

    Și când trimiți un mesaj, se dovedește că

    „Nu ați completat toate câmpurile, întoarceți-vă și completați câmpurile obligatorii!”

    Ciudat, ce sa întâmplat? Și când totul funcționează cu numele și e-mailul.

    Și unde mai poți schimba lățimea? in css? te rog spune-mi ce linie

    Aceasta este forma mea, nu poți elimina cuvintele din cântec. Vă puteți corecta cod php procesare pentru formularul meu? Am încercat să-l înlocuiesc eu, dar tot dă o eroare la completare. Ajuta-ma te rog!)

    Formular de comandă

    Completați formularul de feedback și vă vom suna înapoi!

    ACEASTA ESTE IEȘIRE DUPĂ TRIMITERE. DE CE?
    codul formularului nu a fost introdus în dosar separatși imediat în index.html unde se află toate meniurile și conținutul. L-am lipit în secțiunea de contacte. Site de casă

    La mulți ani, Stepan, și mulțumesc frumos! Sunt prin preajmă de câteva zile căi diferite Am încercat să configurez un formular de feedback, astăzi a funcționat în sfârșit! Tocmai de ce, dacă câmpul „subiect” este gol, scrisoarea nu este trimisă, dar apare o inscripție că toate câmpurile trebuie completate. La urma urmei, „subiectul” este un câmp opțional? Și dacă este necesar, acest câmp poate fi șters?

    Stepan, mulțumesc pentru formular!
    Am de gând să o fac în 2 moduri. Pur și simplu nu îmi dau seama ce să inserez în fișierul paginii site-ului. Voi plasa fișierul .php în directorul rădăcină al găzduirii, dar trebuie să scriu ceva pe pagina în care se află formularul? În chiar fișier html lipiți un cod, nu?

    Mulțumesc, Stepan
    Din păcate, nu mi-a ieșit
    În mod evident, introduc ceva greșit în corpul site-ului((

    Stepan, am creat unul nou fișier php. Unde am copiat ceea ce era scris în metoda 2 și am înlocuit rândurile necesare.
    Încărcat pe găzduire.
    Formularul trebuie reflectat pe pagina de index. al site-ului meu Acest fișier este html. Cu siguranță trebuie scris ceva în acest fișier pentru a accesa fișierul php?

    Am citit toate acestea cu mare atenție și bineînțeles că am înțeles cu totul altfel))))
    Multumesc, voi incerca sa scriu))))

    Din păcate, încă se dovedește a fi un fel de lucru strâmb ((

    Am verificat site-ul dvs., dar nu am putut privi forma curbată.
    Ai pus alt formular? Apropo, captcha nu funcționează pe formularul tău.

    Bună ziua
    Îmi spune că mesajul a fost trimis.
    Dar scrisoarea nu ajunge prin poștă.
    Ce ar putea fi?
    Am facut totul asa cum a fost scris...

    Problema este rezolvată, a fost în găzduirea de test.

    Mulțumesc. A ieșit curat și totul funcționează.

    Dar nici prima, nici a doua nu imi merge. fișiere PHP
    de la hosting [adresa eliminata] au spus ca problema nu este la ei
    pune adresa ta de email

    Gazda a recunoscut, după multe torturi, că a fost jamba lor
    Ei au scris că a apărut o problemă în configurarea contului dvs.
    Funcționează acum.
    Problema este alta acum
    Funcționează pe un site cu extensia.ru, dar
    pe un site cu extensia .рф nu vrea.
    Gazduirea jură și jură că există o problemă cu codul

    După trimitere, apare o eroare pe site sau pur și simplu nu ajunge e-mailul?

    Pe scurt, problema este doar în hosting.
    Am scris un răspuns—Am restabilit capacitatea de a trimite e-mailuri de pe site-urile contului dvs.
    Imediat se pune intrebarea, dupa care au restaurat...... restauratorii sunt rai

    Totul a ieșit grozav pentru a fi instalat prima dată pe vehicul!
    Abia acum verific dacă scrie litere normale la trimitere, dar când încerc pe alt computer scrie kryakozyabra

    Întrebare! Există vreo modalitate de a face ceva astfel încât la completarea formularului în care este scris E-mailul, dacă scrieți ceva nebunesc, de exemplu, numere sau altceva... Apare eroarea „Introduceți corect e-mailul” ca Tago

    Salut Stepan. În primul rând, mulțumesc pentru blogul tău. Este ca un manual pentru mine, vizitez constant site-ul tău. O mulțime de lucruri utile. Am această problemă. Am luat codul de la tine și am creat un formular simplu de feedback. Totul funcționează și scrisoarea ajunge. Doar asta e problema. Scrisoarea sosește fără text. O scrisoare goală. Din ce motiv, nu pot înțelege. Vă rog să mă ajutați să înțeleg asta. Mulțumesc anticipat. De la uv.Akif

    Bună, Stepan. A apărut întrebarea: calitatea trimiterii scrisorilor poate depinde de găzduire?
    Unele dintre scrisorile mele sosesc, altele nu, și au venit doar litere care conțineau fie caractere latine, fie numere. Scrisorile scrise în întregime în chirilică nu au ajuns niciodată. Vă mulțumesc anticipat.

    Salut Andrei! Ai verificat literele din SPASM?

    Andrei răspunde:
    13.07.2015 ora 13:06

    Da, am verificat. Nu era nimic acolo.
    Sosesc litere, scrise doar exclusiv în latină, sau în cifre. Literele care conțin doar alfabet chirilic nu ajung.

    Da, mulțumesc, sunt deja 100% sigur că problema este în găzduire. Ma mut!

    Am făcut-o după metoda numărul 1, dar din păcate mesajele nu ajung, care este problema?

    Nikita răspunde:
    14.07.2015 ora 22:05

    Am făcut a doua metodă, funcționează, dar un singur mail, încerc altele - nu vine nimic.

    Indicați ce site-uri de e-mail nu acceptă și arată cum ați completat rândul nr. 56

    $adresa = " [email protected]";

    Redirecționarea are loc după trimiterea mesajului?

    Nikita răspunde:
    15.07.2015 ora 00:29

    da, are loc redirecționarea către site,

    $adresa = " [email protected]";

    Mi-am pus e-mailul

    Multumesc pentru articol! a ajutat foarte mult

    Cum să adăugați sau chiar să transformați codul astfel încât să arate așa:
    Prenume, prenume, patronimic... etc.. adică sunt necesare câmpuri suplimentare

    Bună seara, Stepan! Codul tău chiar funcționează, mulțumesc foarte mult pentru munca ta! Vă rog spuneţi-mi:
    1) ce comandă poate fi folosită pentru a seta un câmp obligatoriu sau opțional într-un fișier php? (toate câmpurile sunt obligatorii acum)
    2) Cum pot adăuga un câmp nou în mod specific într-un fișier php? (în html totul este clar cum se face).

    Salut, Stepan!
    Folosesc a doua versiune a codului tău.
    Mesajul nu a ajuns pe mail.ru. Mesajul a sosit pe e-mail Yandex instantaneu.

    Care ar putea fi problema?
    În general, mulțumesc, funcționează. În principiu, puteți redirecționa de la Yandex la mail.ru...

    Salut, Boris! Te-ai uitat la „mail.ru” în SPAM? Poate scrisoarea a ajuns acolo

    Boris raspunde:
    30.07.2015 ora 10:33

    Privit. În general, există un fel de ciudățenie: scrisorile ajung cu întârziere mare și nu toate. Aproximativ vorbind - de fiecare dată. În general, nu există nicio logică. Poate că găzduirea este lentă.

    Nu se poate, dar cu siguranță. Ce fel de gazduire? Voi citi despre ele.

    Boris raspunde:
    08.03.2015 ora 10:25

    Skyhost.ru
    În ultimii ani sau doi, am început să ne gândim mult timp, asistența tehnică durează mult și este adesea off-topic. Dar calitate-pret)

    Buna ziua. Nu pot primi formularul de feedback (((De ce – nu știu

    Asta mi-a răspuns tehnica. a sustine
    Problema cu trimiterea scrisorilor apare deoarece serviciul mail.ru a blocat primirea e-mailurilor de la serverul pe care se află contul dumneavoastră. Lucrăm la rezolvarea acestei probleme, dar, din păcate, nu am primit încă un răspuns de la mail.ru. Expedierea e-mailurilor va fi reluată în curând. Ne cerem scuze pentru inconvenientul temporar.

    Drept urmare, am renunțat la mail.ru și am trimis scrisori către Yandex.
    Dar din anumite motive Yandex le trimite la spam.
    Pe scurt, ei nu vor ca totul să funcționeze normal

    Bună ziua
    Am creat un site local pe openserver.
    Ți-am luat forma, scenariul și l-am corectat puțin. Trimit un mesaj către e-mail Yandex.
    Ceea ce se transmite prin intrări se transformă în întrebări. Textul staționar este afișat corect.
    Te rog ajuta-ma.

    Numele dumneavoastră*


    Data consultării*


    Timp de consultare*


    Salut, Maxim! Cred că problema este în codificare. Fișierul cu gestionarea formularelor trebuie salvat în UTF-8 fără o bombă. Uite

    Maxim răspunde:
    09.04.2015 ora 18:20

    Stepan, mulțumesc. Dar, din păcate, nu a ajutat. În același mod, textul este afișat cu întrebări.

    Stepan,
    După sfatul tău, problema nu a dispărut.
    Cer un sfat despre ce să fac în continuare?
    Ar putea fi o problemă cu Yandex.Mail?

    Problema este în codificare 105%. Este posibil ca serverul să dea doar win-1251. Determinați ce codificare produce serverul și convertiți din cea pe care o oferă în cea de care aveți nevoie pe pagină. Asta e tot!

    Maxim răspunde:
    21.09.2015 ora 11:52

    Stepan, bună seara!

    Am primit un răspuns de la dezvoltatorii Yandex.Mail.

    „Am verificat scrisoarea - nu a fost găsită nicio indicație de codificare în ea. Vă rugăm să verificați setările formularului. Nu pare să genereze un antet „Tip de conținut” și, prin urmare, nu transmite informații de codificare.”

    Voi sta și voi afla de ce informația nu este transmisă. De îndată ce îmi dau seama, o voi posta în comentarii în cazul în care altcineva are aceleași probleme.

    Maxim răspunde:
    23.09.2015 ora 15:37

    După următoarea iterație, totul a funcționat. Se pare că au fost probleme cu mâinile și codarea. Îți mulțumesc, Stepan, pentru răbdarea ta și funcționalitatea atât de convenabilă!

    Stepan, bună seara.
    Mulțumesc pentru formular, funcționează bine.
    A apărut o întrebare: cum pot organiza trimiterea unei scrisori cu un fișier atașat în versiunea 1 a formularului?

    Bună, Viacheslav! Ați încercat să căutați un răspuns pe site-uri web? Există o mulțime de soluții pe Internet despre cum să trimiteți o scrisoare cu un fișier atașat.
    Dacă doriți, vă pot dezvolta personal un cod PHP, cu care puteți primi email-uri cu un fișier atașat, dar vă va costa bani.

    Viaceslav răspunde:
    16.09.2015 ora 20:50

    Am găsit multe soluții, dar când am încercat să le combin cu formularul tău, nimic nu a funcționat.
    Am reușit să organizez selecția fișierelor.
    Dar scrierea PHP direct într-un fișier necesită cunoștințe de coduri.
    Desigur, puteți plăti bani, dar o voi face persoanei care va face întregul site pentru mine. Între timp, pentru ca câteva pagini ale site-ului să funcționeze, am nevoie doar de un formular de feedback.
    Ei bine, atunci ești așa om ocupatși nu puteți sugera câteva rânduri de cod, atunci vă mulțumesc cel puțin pentru formular.

    Stepan, mulțumesc pentru formularul simplu și funcțional!
    A durat mai mult să-ți dai seama cu Denver decât să integrezi formularul în pagină, să aplici machiajul și să lansezi.
    Fără să știu deloc php, l-am introdus și a funcționat!

    Bună ziua, codul funcționează și foarte util, vă mulțumesc foarte mult.
    Am vrut să pun o întrebare, este posibil să adaug o opțiune în cazul unei erori, astfel încât să nu redirecționeze către pagina principală, ci să solicite corectarea erorii sau să redirecționeze către o altă pagină.

    Mulțumesc foarte mult,

    Am inclus un formular de feedback bazat pe descrierile tale, dar ulterior l-am abandonat. Dar mi-ai distrus pagina site-ului cu asta. Pagina ta se deschide constant, după 6 secunde, și nu pot face nimic, chiar și atunci când ți-am șters complet formularul. comunicatii. Este acesta un VIRUS!?

    Caut cum să creez un script pentru un site web de produs cu o singură pagină, cu un upsell. Ai cel mai mult

    o explicație clară a modului de a trimite mesaje prin e-mail. Dar am nevoie:
    1. Trimiteți către [email hidden]
    2. Citiți datele din câmpurile de formular Nume și Telefon
    3. Când faceți clic pe butonul „Trimite” din formular, acesta se transferă într-un alt formular

    pagina upsell.php. DAR DATELE DIN CÂMPURILE FORMULUI NU SUNT TRIMISE PE E-MAIL,

    SI SUNT SALVATI SI ASTEPTATI TRIMITEREA COMANDA!!!
    4. Pe pagina cu upsell sunt 2 butoane (nu există formular):
    a) dacă cumpărătorul apasă butonul „Adaugă la colet”, atunci funcția intră în joc

    trimiterea unui mesaj e-mail cu datele colectate din câmpurile formularului și adăugarea unui nume

    e-mail
    Nume:
    Telefon:
    Numele produsului suplimentar.
    b) dacă cumpărătorul apasă butonul „Refuză”, atunci intră în joc funcția de trimitere

    mesaje e-mail cu date colectate din câmpurile formularului, dar fără a adăuga

    produs suplimentar. Toate acestea sunt în cele din urmă exprimate sub forma unui mesaj

    e-mail
    Nume:
    Telefon:

    Buna seara Stepan!
    Ți-am lipit formularul pe site și scrie că scrisoarea a fost trimisă!
    Dar scrisoarea nu ajunge prin poștă!
    Vă rog să mă ajutați să-mi dau seama!
    Am încercat ambele opțiuni, dar ambele forme prelucrare in curs dar scrisorile nu ajung!

    Formular de comandă.

    Nume*

    E-mail*

    Telefon*

    Mesaj:

    Salut, Denis! Totul este corect cu tine. Ar trebui să funcționeze, chiar am verificat de două ori server local. Verificați dacă e-mailurile sunt trimise către SPAM?!

    Buna ziua!
    Cum să adăugați o descărcare a unui fișier care se află la rădăcina site-ului în formularul dvs.?

    Bună ziua Stepan, am instalat formularul tău de feedback (FORMUL 2) pe site-ul meu și după ce l-am trimis scrie Mesaj trimis cu succes. Dar nimic nu vine prin poștă. Spune-mi cum să o repar, mulțumesc anticipat.

    Bună ziua, folosind formularul dvs. ca exemplu, o fac pe al meu. Te rog spune-mi că este aici câmpuri obligatorii de completat și sunt opționale, cum le pot face opționale? Dacă nu îl completați, scrie „Nu ați completat toate câmpurile, întoarceți-vă și completați câmpurile obligatorii!”;
    În formularul meu, să presupunem că puteți atașa o poză, dar acest lucru nu este necesar și, în general, poza va fi trimisă pe mail sau nu???

    Mi-ar plăcea, dar ar trebui să existe o verificare și un mesaj de genul „mesajul a fost trimis în 6 secunde, veți fi redirecționat” ar trebui să fie și el acolo, care este problema, nu știu, vă rog să vă uitați la cod?

    Si peste toate celelalte apare eroarea 1,3,5,6 forma nedefinita???

    Și scrie constant „Nu ați completat toate câmpurile, întoarceți-vă și completați câmpurile obligatorii! ” chiar dacă le completez pe fiecare???

    Stepan, astept)

    Totul a mers bine pentru mine. Am scris acest număr aici; nu este în fișierul meu php. Iar despre linia 11 mi-am dat seama imediat că era pentru formulare obligatorii. Și totul s-a dovedit

    ($nume = $_POST["adresă"] ($email = $_POST["nume"]

    Variabilele sunt specificate incorect.)
    Și în loc să stau, citesc carte mare Dmitri Koterov, Alexey Kostarev PHP 5.
    Multumesc pentru sfat

    Pot plăti cu cât va costa formularul de înregistrare php cont personal pentru fiecare utilizator și un card de plată din acesta?

    O zi buna din nou Stepan, spune-mi de ce cand creez un fisier cu extensia php in folderul radacina al site-ului, la intrebare: adresa site/fisier php da
    Nu a fost găsit

    Adresa URL solicitată /cgi-bin/php4.fcgi/kontakt.php nu a fost găsită pe acest server.

    În plus, a fost întâlnită o eroare 404 Not Found în timpul încercării de a utiliza un ErrorDocument pentru a gestiona cererea.
    fișierul a fost creat și se află în folderul rădăcină. Cum să repar? Mulţumesc anticipat.

    Buna ziua!
    Când trimiteți un mesaj, acesta dă o eroare - „500: Solicitarea nu a putut fi finalizată din cauza eroare internă pe server."
    Care ar putea fi problema?

    Am făcut a doua opțiune, funcționează! Mulțumesc!)

    Bună, Stepan!
    Am rulat formularele dvs. de feedback de la 15:00, dar nu funcționează. Opțiunea 1 este zero. 2 - mesajul iese, dar nu ajunge în căsuța poștală. Site-ul este pe o gazdă gratuită cu suport PHP. Mă puteți ajuta să-mi dau seama? Nu caut soluții gata făcute. Salutări . in asteptarea unui raspuns

    Bună, Vadim!
    Ți-ai schimbat adresa de e-mail?

    $adresa = " [email protected]";

    Vadim răspunde:
    17.07.2016 ora 02:17

    Bună, Stepan din nou. Da. Am verificat totul. Ambele opțiuni funcționează.Dar nu ajunge la cutia poștală.Cel mai probabil, problema este în găzduirea gratuită.Pentru a clarifica, pot trimite coduri și date site.Pentru că acest site este un fel de teren de antrenament, iar eu sunt o persoană cu puțină experiență în această chestiune (deocamdată).Soluția dvs.: merită osteneala?

    Scrisoarea ar trebui să ajungă pe computer (Disc server local/tmp/!sendmail)

    Vadim răspunde:
    23.07.2016 ora 02:39

    Excelent solutie la problemaÎn graba mea, nu am luat imediat în considerare această opțiune. De îndată ce „înregistrez” această proprietate, cu siguranță o voi nota. multumesc pentru receptivitate

    Scrie eroare, mesaj nu a fost trimis!

    Lily, mi-am verificat din nou formularul, totul funcționează. Uită-te în handler, undeva există o variabilă care nu este scrisă corect sau nu există deloc.

    Alena raspunde:
    26.09.2016 ora 12:03

    Buna ziua! Am încercat formularul nr. 2, totul a funcționat, dar scrisorile au venit numai de la e-mail Yandex sau, dacă scrieți doar krakazyabry în loc de adresă, nu sosesc din e-mail. Am adăugat și linia „Telefon” și am încurcat undeva, acum nu a fost trimis deloc, vă rog să aruncați o privire

    Salut Stepan. Nu s-a întâmplat să afli soluția de pe mail.ru, de ce nu funcționează? Tocmai am incercat sa testez ambele formulare pe gazduire, pe un subdomeniu al site-ului meu. Totul funcționează bine cu Google și Yandex mail, dar Mail.ru nu funcționează, scrisorile nu ajung, deși sunt trimise. Și este interesant că nu funcționează ca dacă specificați adresa de e-mail $address. Deci, chiar dacă expeditorul pur și simplu lasă e-mailul în formular, iar în $address va fi e-mail Yandex, de exemplu.

    Nu pot sa inteleg. Nu am corectat ce și cum, atunci când trimit o solicitare, serverul trimite o eroare 405 „Metoda nu este permisă”

    Metoda solicitată POST nu este permisă pentru adresa URL /mail.php.

    cum se poate depasi asta? Mulțumesc!

    Mulțumesc, Stepan! Problema a fost asa cum ai spus tu pe server. Corectat. Acum o altă glumă: toate câmpurile sunt completate, afișează un mesaj că totul a fost trimis cu succes, dar apoi în loc să redirecționeze către site-ul principal, afișează mesajul „Nu ați completat toate câmpurile, întoarceți-vă și completați câmpurile obligatorii!”

    În general, Stepan, ești un tip grozav! Vă mulțumim pentru blogul dvs., scrieți lucruri foarte interesante într-un limbaj accesibil.

    Și îți mulțumesc, Dmitry, pentru cuvintele tale frumoase.
    Scrieți în comentarii ce ați făcut și în ce fișiere. În general, tot ceea ce privește forma.
    Lipiți codul în comentarii prin .
    Voi arunca o privire.

    Dmitry răspunde:
    10.02.2016 ora 11:55

    Stepan, în general, mă uit de câteva zile, nu pot să-mi dau seama))) Mi-am dat seama că problema este că am adăugat câmpuri. Am înregistrat câmpurile în handler. Dar în mod clar există o problemă undeva în ADN-ul meu, deoarece nu văd sursa problemei. Iată codul de la handler:

    Buna ziua!
    Eroare pe linia 32 „Z:\home\192.168.1.227\www\php\contact-form.php pe linia 32”

    Echo „Scrisoarea nu a fost trimisă, în 5 secunde veți reveni la pagina principală;)

    nu vine înainte de „;” ghilimele unice" ' ", ca aceasta:

    Echo „Scrisoarea nu a fost trimisă, veți reveni la pagina principală în 5 secunde”;)

    incearca-l.

    ro raspunde:
    10.06.2016 ora 23:37

    Buna din nou. acum a găsit o altă eroare în antetul gol din linia 28, a completat-o ​​și acum aceasta este (((
    Există ceva ce nu pot să-mi dau seama încă în PHP(((

    Avertisment: Nu se pot modifica informațiile antetului – anteturile deja trimise de (ieșirea a început la Z:\home\192.168.1.227\www\php\contact-form.php:1) în Z:\home\192.168.1.227\www\php\ contact-form.php pe linia 28

    Am convertit fișierul php în UTF-8 fără avertisment, a început să apară fără avertisment, dar hieroglife (((

    și nu pare să fie înfricoșător, e-mail litera specificată din anumite motive nu vine

    ro raspunde:
    10.07.2016 ora 00:00

    Se pare că și-a dat seama de codificare și scrie că scrisoarea a fost trimisă, dar nu ajunge prin poștă ((

    Comentează rândul 28

    //header("Reîmprospătare: 5; URL=https://hot-potato.studio");

    S-a schimbat rezultatul?

    ro raspunde:
    10.11.2016 ora 21:22

    Mi-am dat seama, sosește, dar există erori în e-mail (((
    Este necesar să te joci cu codificarea?

    ro raspunde:
    10.11.2016 ora 21:38

    nu inteleg deloc! Peste tot codarea este aceeași utf-8, dar totuși asta se întâmplă! Cum să o repar? Dacă l-am instalat fără boom, atunci aceste hieroglife apar pe site-ul meu. X-Sendmail-Cmdline: sendmail.pl -t -i
    La: [email protected]
    Subiect: Сообщение с hot-potato.studio
    X-PHP-Originating-Script: 0:contact-form.php
    De la: Родион Мальцев
    Răspuns la: ххххххххх@gmail.com

    Сообщение с сайта Hot-potato.studio

    РРјСЏ отправителя: Р РѕРґРёРѕРЅ RњР°Р»СЊС РРР
    Ректронный Рдрес отправвЅС‹Р№ Рдрес отправвЅС‹Р№ Рдрес отправвЅС‹Р№ хххх@gmail.com
    Телефон отправителя: +7964хххххххххх
    Текст сообщения:
    RїСЂР°СЂР°СЂР°СЂР°СЂР°

    ro raspunde:
    10.11.2016 ora 22:37

    Am convertit totul la ANSI și totul a funcționat, de ce? și este ok să folosești ANSI?

    Stepan, salut!

    În comentariile la acest subiect, am citit că ați vrut să adăugați un captcha la cod.
    Nu ai făcut asta încă?
    Dacă ai făcut-o, spune-mi unde îl pot urmări?

    Oopssssss! Alexander nu a făcut-o.
    Va fi necesar să corectați această problemă și să o strângeți

    Alexandru răspunde:
    04.12.2016 ora 12:21

    Stepan, salut!
    Nu ai trimis încă un captcha?

    În opinia mea, este mai ușor să utilizați soluții gata făcute cu funcționalitate largă, de exemplu designerul de formulare testograf.ru
    Selecție uriașă de tipuri de câmpuri + capacitatea de a încărca un fișier. De asemenea, totul este gratuit!
    Citiți mai multe despre cum să creați un formular de feedback aici: testograf.ru/ru/blog/forma-obratnoj-svyazi.html

    Bună ziua Stepan, am încercat varianta 1, totul funcționează, dar când sosește scrisoarea sunt cârlige în loc de litere rusești și lituaniene, am încercat opțiuni cu codificări, nu a ajutat.

    Bună ziua Sincer să fiu, nu am înțeles. Am făcut un site web php, dar cum să inserez un formular în pagina dorită in locul potrivit?

    Buna ziua! Am inserat formularul folosind Metoda 1 și a tot spus „Nu ați completat toate câmpurile, întoarceți-vă și completați câmpurile obligatorii!” deși toate sunt pline.Vă rog să-mi spuneți care ar putea fi motivul

    cod handler:

    Buna ziua!
    Codul este scris gresit.
    Nu există „nume=”NUME”, nume=”EMAIL””, etc. în formular.

    Tim raspunde:
    06.12.2016 ora 12:33

    Bună ziua
    Am introdus formularul pe pagină, mulțumesc.
    Dar nu funcționează - scrisorile nu ajung, bănuiesc că am specificat incorect calea către fișierele mail.hp
    Și, cel mai important, atunci când trimiteți un mesaj, apare că mesajul a fost trimis și după 6 secunde veți fi redirecționat către site
    Stepan, cum pot elimina asta? Unde pot schimba intrarea?

    Hopa, am corectat mesajul.)
    Dar cum să scrieți corect calea către fișiere?
    Dacă fișierul mail.php se află în același folder, public html, unde sunt toate paginile site-ului, înseamnă asta că trebuie să specificați calea către pagina site.ru/mail.hph?
    Vă mulțumesc anticipat!

    Stepan! Totul a funcționat! Acest mesaj nu ajunge atunci când încerc să mi-l trimit mie de la adresa mea, ci de la alte adrese, sau dacă pur și simplu specific 123 în loc de adresă, o fac.
    Îmi pare rău că vă deranjez!
    Și MULȚUMESC încă o dată!

    Dragă Stepan!
    Va rog sa ma ajutati, altfel o sa innebunesc. Aceasta nu este prima zi în care mă confrunt cu trimiterea de e-mailuri de pe site. Două fișiere: mail.php și contacts.html Ambele fișiere sunt în utf-8. Site-ul în sine, găzduit de ISP, este, de asemenea, în utf-8.
    Problemă: scrisorile ajung în cutia poștală, dar sub formă de cinteze -

    РјСЏ РїРѕСЃ»Р°РІС€РµРіРѕ: РРіРѕСЂСЊ RR»РµРєС‚СЂРѕРєССЂРѕРєССЂРѕРхРСРРСРСЊ : [email protected]Înregistrare ѕРІРµСЂРєР° СЃ сайта

    Convertit în Notepad (deși înainte de recodificare era așa

    Numele expeditorului: РРіРѕСЂСЊ Adresa de e-mail: [email protected] Mesaj: RџR RћR’R R RљRђ

    Aici este codul mail.php

    Expediere vine mailul de pe pagina ******/contacts.html

    S-a schimbat cutia poștală în @ukr.net, altfel la @ litere rătăcitoare a mers la spam.

    Poate vă puteți da seama? Multumesc pentru raspuns.

    În timp ce așteptam și nu am primit un răspuns, am făcut totul singur. A mers. A fost un motiv foarte interesant.
    Mi-ar plăcea să văd munca de creare a site-urilor web, dar autorul blogului nu a văzut niciun link către ele.

    Vă rog să-mi spuneți cum să centrez această formă minunată pe orizontală. Astfel încât să apară în centrul paginii. Și în același timp, pe partea stângă a fost aliniat, așa cum este acum.

    Există alte opțiuni decât împachetarea lui într-un div, centrarea lui și alinierea conținutului la stânga?

    Da, mi-a venit în minte această opțiune, singura, dar încă nu am ajuns la ea, Anul Nou la nas, la urma urmei. Și abilitățile de programare web, sincer, nu sunt suficiente pentru a alinia ușor și natural forma.

    Mulțumesc! Si un an Nou fericit!

    Timp bun! Cum să vă asigurați că în loc de un e-mail pentru feedback, clientul are doar un număr de telefon? Mulțumesc!

    Salut, Stepan! Ajuta-ma te rog. Aceasta este a doua săptămână în care fac un formular de feedback, am încercat un număr nesfârșit de formulare și astăzi am reușit în sfârșit să fac ca formularul să răspundă: Mesajul dvs. a fost trimis. și asta a fost exact forma ta. Cu toate acestea, prin ea sunt trimise doar acele scrisori în care, sub formă de e-mail. Adresa pe care vizitatorul site-ului a indicat-o nu era o cutie poștală pe mail.ru. Găzduirea mi-a scris ca răspuns la reclamația mea despre motivul pentru care scrisorile nu au venit, următorul răspuns:
    Probabil, formularul de pe site înlocuiește adresa specificată în câmpul „E-mail*” ca expeditor.

    ÎN în acest caz, Pot apărea probleme dacă utilizatorul specifică orice cutie poștală pe mail.ru. În acest caz, vă recomandăm să setați adresa expeditorului la o adresă bazată pe domeniul dvs. Am ajustat înregistrarea txt spf pentru a permite trimiterea de pe serverul de găzduire pentru acest domeniu:
    v=spf1 ip4:37.140.192.244 a mx include:_spf.mail.ru ~all

    Cum pot înlocui adresa din mail.php?
    Am încercat să înlocuiesc linia numărul 5:

    Dacă (isset($_POST["email"])) ($email = $_POST["email"]; dacă ($email == " [email protected]") (dezactivat($email);))

    adresa de e-mail bazată pe domeniul meu - se formează și pe mail.ru, dar nu asta este ideea dacă introduceți adresa acolo

    [email protected]

    — Nici scrisoarea nu va ajunge.
    Poate îmi puteți spune cum pot seta adresa expeditorului la o adresă bazată pe domeniul meu.

    Salut, Stepan! Am recitit toate comentariile și am găsit răspunsul la întrebarea mea, am rezolvat totul, totul funcționează! Mulţumesc mult! Spune-mi, te rog, cum pot crea cumva o mască pentru câmpul $etel cu număr de telefon astfel încât dacă utilizatorul nu a introdus întregul număr de telefon, formularul i-ar indica acest lucru?

    Bună, Ekaterina.
    Care a fost motivul?
    Pentru câmpul de telefon, puteți crea o explicație simplă folosind HTML5.
    Iată o privire asupra posibilităților pentru formular.

    Ekaterina răspunde:
    14.03.2017 ora 05:32

    Bună ziua Motivul este probabil gazduirea (am reg.ru). Se pare că au unele probleme cu trimiterea scrisorilor din cutiile poștale mail.ru prin intermediul site-ului. M-au configurat astfel încât e-mailurile trimise de e-mail pe baza unui nume de domeniu să ajungă fără probleme și am schimbat rândul 15 al formularului:

    $send = mail ($address,$etel,$mes,"Content-type:text/plain; charset = UTF-8\r\nFrom:$address");

    iar acum vin scrisorile din cutia mea poștală către căsuța mea poștală, iar conținutul este ceea ce specifică vizitatorul site-ului.

    Stepan, salut! Am folosit prima opțiune pentru plasarea formularului și am întâlnit această eroare când am făcut clic pe butonul „trimite”: Eroare de analiză: eroare de sintaxă, T_NS_SEPARATOR neașteptat în /var/www/vhosts/***.plsk.regruhosting.ru/httpdocs/ ***.ru/mail.php pe linia 13
    Cod în handler:

    Cod in pagina:

    Scrieți-ne sau cereți un apel înapoi!

    Numele dumneavoastră

    E-mail

    Număr de telefon

    Ar trebui să te sun înapoi?

    Mesaj text:

    Judecând după textul erorii, înțeleg că m-am încurcat cu simbolurile undeva în handler, dar nu îl găsesc - mi-am rupt ochii... Îmi puteți da o idee? Mulţumesc anticipat!

    Sergey răspunde:
    03.05.2017 ora 21:05

    Am găsit ghilimele suplimentare, eroarea a dispărut. Dar acum mai e o problemă... Sosește scrisoarea, totul este afișat normal, dar câmpurile par să fie lăsate goale. Adică, este ca și cum handlerul nu preia datele din formularul html.
    php convertit astfel:

    Am implementat verificarea de umplere prin html:

    Numele dumneavoastră

    E-mail

    Număr de telefon

    Ar trebui să te sun înapoi?

    Doriți să primiți un catalog electronic?

    Mesaj text:

    Dacă verificarea de completare necesară este returnată la php, atunci se afișează un mesaj ca și cum nu ar fi completat niciun rând din formular. Adică, cu ambele opțiuni, handler-ul nu pare să „vadă” umplerea paginii. Repet, e-mailul sosește și este afișat corect, sunt categorii „chestionar”, dar sunt goale. Unde ar trebui să mă uit aici? Spune)

    Nu am găsit linia #9 în codul tău

    If (isset($nume) && isset($email) && isset($sub) && isset($ring) && isset($catal) && isset($body))(

    Adăugați următorul cod la handler:

    Print_r($_POST)

    Rescrie și trimite-mi ceea ce vezi pe ecran.

    Sergey răspunde:
    03.06.2017 ora 15:08

    Și unde anume lanț logic trebuie adaugat?

    Print_r($_POST)

    Care linie?
    Vă mulțumesc încă o dată pentru atenție!

    Bună ziua, Stepan! Vă mulțumesc foarte mult pentru articol) Am făcut totul conform primei opțiuni - formularul funcționează, dar când introduc codul dvs. pentru a proiecta formularul în style.css - nu se schimbă nimic ((Formular funcționează, dar complet neatractiv((
    Ajuta-ma te rog!

    Bună, scriu o teză aici și am decis să introduc o linie de returnare, dar din câte am înțeles, acest lucru nu se poate face fără găzduire? Din anumite motive, metoda ta nu funcționează sau am încurcat căile (

    Mulțumesc! totusi nu functioneaza. și a funcționat o dată. cum poate fi aceasta

    da. Funcționează dacă totul este scris în latină. Dacă este în chirilic, fie nu vine, fie există semne de întrebare. Dacă indic un e-mail de retur de la gmail, atunci scrisoarea trece, dacă de la mail.ru, atunci nu trece. Cum poate fi asta?

    a doua metodă funcționează complet, dar dacă specificați adresa expeditorului pe mail ru (list.ru ets), scrisoarea nu ajunge
    De la qip.ru nm.ru scrisorile trec normal. de la Rambler de asemenea. mailru si domeniile sale sunt blocate undeva.

    Salut Stepan!
    Am folosit 1 formular. Am făcut modificări site-ului meu, dar din anumite motive e-mailurile nu ajung. Ai putea să vezi dacă am greșit ceva?
    Îți voi fi recunoscător pentru răspunsul tău.

    Bună ziua, Stepan!
    Din cele 2 subiecte ale tale (cel real și subiectul despre feedback cu captcha, am încercat să îmi creez un singur formular de feedback. Vin e-mailuri, totul este în regulă pe această parte. Problema este că nu există nicio tranziție la pagina principală a site-ul.Se pare pagină goală cu o inscripție. Intrarea setată în fișierul php se blochează timp de 5 secunde, apoi există o notă că nu toate câmpurile sunt completate (deși toate câmpurile sunt completate). Dar puteți vedea că pagina încearcă să se reîmprospăteze la fiecare 5 secunde. Va rog sa ma ajutati cu aceasta eroare.

    Bună ziua, vă rog să-mi spuneți, după introducerea codului, această parte este afișată ca text pe pagină:

    S-ar putea ca Word Press să nu vadă această parte a codului?

    Bună ziua.
    Stepan, mulțumesc foarte mult. Totul a funcționat!
    Poti sa clarifica: cum poti ajusta codul astfel incat dupa ce a trimis un mesaj utilizatorul sa mearga pe pagina de la care a trimis mesajul (adica pe cea precedenta), si nu pe pagina principala?

    Mulţumesc anticipat.

    setTimeout("location.replace("https://site_address")", 5000);

    Bună ziua Stepan) Întrebarea este cum se conectează detecția ip expeditorului, a adăugat un câmp

    Dacă (isset($_POST["ip"])) ($ip = $_POST["ip"]; dacă ($ip == "") (unset($ip);))

    nu pleca, multumesc anticipat.

    Bună ziua.
    Am încercat să adaug un formular de feedback pe site și am întâmpinat o problemă că formularul părea să funcționeze corect, dar nu au fost primite mesaje prin e-mail. În cele din urmă, am luat forma curată din a doua metodă și am corectat linia de e-mail din ea în e-mailul meu. Care ar putea fi problema? Gazduirea este platita si suporta scripturi php. Versiunea PHP folosită este 7.0.

    Bună, Alexandru!
    Dacă, după trimiterea formularului, vedeți mesajul pe site-ul „Mesaj trimis cu succes. Accesați pagina principală a blogului...”, asta înseamnă că formularul a fost trimis cu succes.
    De ce nu sunt scrisori în căsuța mea de e-mail?
    1. Linia 54 – $address = “ [email protected]”; corectează-l la e-mailul tău.
    2. vezi dacă e-mailurile sunt SPAM

    Alexandru răspunde:
    12.06.2017 ora 09:23

    Linia 54 a fost corectată la adresa mea de e-mail. Nici în căsuța de spam nu există nimic. Poate ar trebui să scriu suportului tehnic de găzduire, dar nu știu ce să scriu?

    incearca aici.
    Puteți obține un handler php de acolo și îl puteți adăuga la formularul dvs.

    Alexandru răspunde:
    12.06.2017 ora 20:25

    Acest formular funcționează și nu produce erori, dar nu se primesc e-mailuri. Mi-am schimbat adresa de e-mail acolo. Aparent, chiar dacă găzduirea acceptă PHP, trebuie activat ceva în setări, dar nu știu exact ce.
    Gazduirea este folosita de nic.ru Tariful 200
    Am scris suportului tehnic, dar ei tac.

    O intrebare. În formular există unde să se înregistreze care adresa poștală trimite scrisori, dar unde ar trebui să mă înregistrez din ce cutie poștală să trimit scrisori? Sau ar trebui găzduirea în sine să înțeleagă acest lucru în mod implicit?

    Suportul tehnic a răspuns că funcția de e-mail de pe găzduire funcționează corect. Mi-a dat un script să verific
    O scrisoare de la gazdă a venit la oficiul poștal. Mi-au spus să verific din nou formularele.

    Bună ziua, Stepan! Am instalat scriptul de feedback folosind prima metodă, totul funcționează. Mulțumesc! Nu sunt bun la programare. Spune-mi ce să adaug la codul mail.php, astfel încât mesajul despre trimiterea unui mesaj să fie reflectat într-o fereastră mică pop-up. Mulțumesc din nou!
    Da, am încercat și scriptul cu captcha, dar din anumite motive numerele nu sunt afișate. GIF-urile și fișierele sunt la locul lor.

    Salut, Igor!
    În cod, punctul nr. 15:

    (echo „Mesajul a fost trimis cu succes, în 6 secunde vei fi redirecționat către pagina principală a site-ului blogului, unde poți continua navigarea”;)

    adăugați o clasă CSS cu stiluri la mesaj și gata (puteți face asta):

    (ecou"

    Mesajul a fost trimis cu succes, dupa 6 secunde vei fi redirectionat catre pagina principala a site-ului blog, unde iti poti continua navigarea

    ";}

    if (isset($_POST['nume'])) ($nume = $_POST['nume']; if ($nume == ") (dezactivat($nume);))
    Puteți explica ce este scris în acest rând și ce este verificat?

    Buna ziua. Dar cum pot trimite un formular dacă am un site pe un server local? Eu folosesc Open Server

    Toată instalarea și configurarea se fac literalmente în cinci pași:
    1. descărcați arhiva;
    2. despachetați două fișiere script și editați-le în conformitate cu aceste instrucțiuni;
    3. adăugați un șir de conexiune script la codul site-ului dvs. și configurați apelul formularului;
    4. plasează scriptul pe serverul tău;
    5. verificați funcționalitatea formularului de pe site-ul dvs.

    Acum toate acestea sunt mai detaliate.

    Urmați linkul de pe site pentru a descărca arhiva cu cea mai recentă versiune a scriptului. Arhiva conține două fișiere:
    - fisier takeorder.php (plasat in folderul radacina al site-ului);
    - fișier takeorder.js (plasați-l în folderul în care se află toate scripturile Java ale site-ului dvs.. De obicei, acesta este folderul js).

    Configurarea scriptului TakeOrder.

    În primul rând, avem nevoie de mesaje pentru a ajunge la cele specificate adrese de email. Pentru a face acest lucru, deschideți fișierul takeorder.php în editorul de cod și faceți corecții la rândurile următoare.

    // e-mailul administratorului
    define("EMAIL1 "," [email protected] ");

    // externalizarea e-mailului
    define("EMAIL2"," [email protected] ");

    // antet - semnătura cui este scrisoarea
    define("HEADER","Ivanov Ivan");

    //subiect
    definiți ("SUBJECT ","Comandă nouă cu ramburs. Ivanov Ivan ");

    În loc de [email protected] Trebuie să furnizați adresele dvs. Dacă lăsați valoarea implicită, [email protected], atunci scrisorile nu sunt trimise.
    In mesajul trimis la adresa administratorului, pe langa informatiile de la client, este indicata suplimentar si url-ul de la care s-a facut trecerea la pagina de comanda. Acest lucru este deosebit de convenabil atunci când utilizați etichete UTM.

    Corectarea subiectului mesajului. Semnătura - de la cine provine scrisoarea.

    Produsul comandat este specificat ca o matrice. Acestea pot fi diferite produse vândute dintr-o pagină a site-ului sau diferite variante un singur produs, prețuri diferite, configurație... Indexul matricei este utilizat atunci când legați un buton pentru apelarea formularului de produs. Sunt indicate pretul si denumirea produsului.

    // lista de produse în format matrice:
    $tovar = matrice ("1990 ","Clock Clock");
    $tovar = array("2990","Ceas 2");

    Salvați modificările.

    Deschideți fișierul takeorder.js. Aici variabilele minName , minPhone și minMail stabilesc numărul minim de caractere pentru câmpurile pentru numele clientului, telefon și, respectiv, adresa. O valoare de 0 dezactivează verificarea. yandexKod și yandexCel sunt numărul contorului și numele țintei pentru Yandex.Metrica. Variabilele topF și leftF stabilesc indentarea formularului din colțul din stânga sus al ecranului. Câmpurile rămase sunt toate inscripții de pe formular. Dacă doriți, le puteți schimba pe ale dvs.

    Conectarea scriptului.

    Biblioteca jQuery este folosită pentru lucru. Verificați: poate fi deja activat pe site-ul dvs. Este ușor de făcut. Deschideți pagina dorită a site-ului în editorul de cod și căutați următoarea linie acolo:

    Cheia aici este fragmentul subliniat. Calea bibliotecii și versiunea pot diferi.

    Dacă biblioteca nu este inclusă, adăugați linia de mai sus la cod. Recomand să includeți scriptul chiar în partea de jos a codului html.
    Imediat dupa biblioteci jQuery conectați scriptul în sine. Pentru a face acest lucru, introduceți o singură linie:

    Asigurați-vă că calea către script (subliniată în exemplu) este corectă.

    Gata, scenariul este conectat. Chiar simplu?

    Tot ce rămâne este să legați apelul la formularul de comandă la butonul „COMANDĂ” de pe site-ul dvs. Pentru a face acest lucru, găsim un buton sau un link în codul de pe site, atunci când facem clic pe el trebuie apelat formularul de comandă. Trebuie să atribuiți clasa takeOrder acestor elemente.
    De asemenea, trebuie să indicați ce produs va fi comandat atunci când faceți clic pe acest buton. Pentru a face acest lucru, adăugați atributul data-to cu o valoare egală cu indexul celulei matrice cu produsul dorit

    ORDIN

    Și pentru buton. Dacă elementului i s-a atribuit deja o clasă, atunci adăugați una nouă, separată de un spațiu.

    Felicitări! Scriptul este instalat și apelul formularului este legat. Puteți reîncărca pagina și verifica.

    P.S. Secret mic.) Dacă adăugați atributul data-off="2" la butonul sau linkul care apelează formularul, atunci formularul va fi afișat cu un singur câmp, primul. Pentru ca formularul să accepte două valori, trebuie să dezactivați afișarea ultimului câmp. Pentru a face acest lucru, setați data-off="1" . Adică, dacă este necesar, puteți apela formularul cu cantități diferite câmpuri prin setare diverse link-uri sau butoane de apel.