Hogyan kell a php-t helyesen érvényesíteni az e-mail mező validálását?

  • PHP
  • érvényesítés

Hello mindenkinek!
Segítsen, kérjük, hogy megértse az e-mail helyes érvényesítését.
Van egy HTML űrlap (a példában az e-mail formanyomtatvány része látható):

Tudomásul veszem, hogy FILTER_VALIDATE_EMAIL-ot kell használnia. de hol kell pontosan megadnia a "minta" -ot, amely tovább összehasonlítja a formában szereplő adatokat?
Van egy ötlet, hogy hivatalossá tegyék az e-mail érvényesítés általános megközelítését:
1. lehetőség:
Ha az űrlap mezőjében valami be lett írva, ha (isset ($ _ POST ["email"])), akkor elkezdjük ellenőrizni az adatok helyességét, nevezetesen:
használja, ha (! filter_var ($ _ POST ['email'], FILTER_VALIDATE_EMAIL)).
Ha a beírt adatok helyesek (azaz megfelel az eredeti sablonnak, például $ var = "[email protected]";), akkor továbbra is az űrlap más területein dolgozunk.
És Ha a beírt adatok helytelenek, akkor küldje el az értéket a hiba tömbhöz ($ hibák), és írjon róla figyelmeztetést ($ hiba ['email'] = "Nem érvényes e-mail"; És ha nem adtak be adatokat, akkor az "üres" érték ugyanazon hiba-sorozathoz ($ hibák) kerül elküldésre. már rendelkezik saját üzenettel ($ hiba ['email'] = "A kötelező mező nincs kitöltve";).

2. lehetőség:
Ha elküldte üres e-mail mezőt, majd hozzárendeli a kapott értéket egy csomó hibát, és megjeleníti az üzenet „Hiányzó kötelező mező” (ahogy ez részben képviseli kód), vagy ha az e-mail mező nem üres (minden adat került bevezetésre) kezdjük, hogy ellenőrizze: Ha a bevitt adatok helytelen (azaz megfelel az eredetileg meghatározott minta, például $ var = „[email protected]”), majd küldje el az eredményt, hogy egy sor hiba üzenet „nem egy érvényes e-mail”. Ellenkező esetben (ha az eredmény helyes), akkor folytatjuk a más formák ellenőrzését.

A legfontosabb kérdés:
ahol a kódot meg kell beállítani ezt a sablont / minta ($ var = „[email protected]), amely szerint a kiszabott összehasonlítva a helyes címre fog bekövetkezni, úgy, hogy minden úgy működik, ahogy kell, és hogy ez a minta nem felbukkan a böngésző?

Köszönjük a segítségét!

Kinek érdekes - itt a megoldás:

Szükséges eltávolítani a negációt, mielőtt a filter_var ($ _ POST ["email"] stb.
És a sablon / minta megadásához, mint a w3school példában, ne.
Minden úgy működik, ahogy kellene.

Ó, és én megpróbálom, hozzá a választ) És azt hittem, általában szüksége van minden validálásról és a, jó nézd meg a válaszokat.

Kitöltöttem a profilomat

És ez neked, bocsáss meg nekem, milyen minta ez? Honnan jön, és hogyan tervez valamit csinálni? Már az űrlap elküldésekor rendszeresen ellenőriznie kell. Ez azt jelenti, amikor a felhasználó megnyomta a "Küldés" gombot az űrlapon.

Nagyon köszönöm a választ, de ő sajnos nem felel meg nekem.
A FILTER_VALIDATE_EMAIL függvény használatának példája itt is szerepel: www.w3schools.com/php/filter_validate_email.asp
De a probléma az, hogy nem tudom, hol - a kódom melyik helyén - meg kell határoznia a $ var = "[email protected]" kifejezést, hogy ezt az űrlapot használhassa az e-mail meghatározásához, függetlenül attól, hogy mely szimbólumokat fogják használni . Minden hibapontom van a hibaüzenet minden mezőjére. Valójában a HTML formanyomtatvány egy részét a kérdés elején írta. Nem igazán kedvelem, ha egy üzenet megjeleníti az összes egyszerre elvégzett hibát. Minden mezõ számára jobb - a hozzárendelt helyen: az én esetemben: minden mezõvel szemben van, ahol a hibát elkövették. Valahogy így.

Natalia. szívesebben használja a szabályos, mert az én szeszély, de akkor vegyünk egy példát kínált a W3C, a lényeg nem változik: Annak érdekében, hogy ellenőrizze a „Save” tartalom bármely területén formában kell otsabmitit (nyomja meg a gombot, vagy akár egyszerre, hanem minden esetben, minden cselekvés akkor csak azt követően sabmita illeti, hogy a példa - .. van szüksége az aszinkron adatátvitel I kiegészítik a választ, hogy elmondja röviden, hogy mi szükséges, mert ott nem lehet formázni kódot.

Kapcsolódó cikkek