X 18 საჭიროა სახელის გამოყენებით შესვლა. მეთოდოლოგია "რიცხვები და ასოები"

ვებ აპლიკაციების შექმნისას მნიშვნელოვანია სერიოზულად მოეკიდოთ უსაფრთხოებას, განსაკუთრებით მაშინ, როდესაც საქმე გაქვთ მომხმარებლებისგან მონაცემების მოპოვებასთან.

უსაფრთხოების ზოგადი წესია არავის ენდოთ, ასე რომ თქვენ არ შეგიძლიათ დაეყრდნოთ მომხმარებლებს, რომ ყოველთვის შეიყვანონ სწორი მნიშვნელობები ფორმებში. მაგალითად, ველში სწორი ელ.ფოსტის მისამართის შეყვანის ნაცვლად, მომხმარებელმა შეიძლება შეიყვანოს არასწორი მისამართი, ან თუნდაც მავნე მონაცემები.

რაც შეეხება მომხმარებლის მონაცემების დადასტურებას, ეს შეიძლება გაკეთდეს როგორც კლიენტის მხარეს (ვებ ბრაუზერში) ან სერვერის მხარეს.

ადრე კლიენტის მხრიდან დადასტურება შეიძლებოდა მხოლოდ JavaScript-ის გამოყენებით. მაგრამ ყველაფერი შეიცვალა (ან თითქმის შეიცვალა), რადგან HTML5-ის დახმარებით ვალიდაცია შეიძლება გაკეთდეს ბრაუზერში, JavaScript-ში რთული ვალიდაციის სკრიპტების დაწერის საჭიროების გარეშე.

ფორმის ვალიდაცია HTML5-ის გამოყენებით

HTML5 უზრუნველყოფს საკმაოდ მძლავრ მექანიზმს, რომელიც დაფუძნებულია ტეგის შემდეგ ატრიბუტებზე: ტიპი, ნიმუში და მოთხოვნა. ამ ახალი ატრიბუტებით, შეგიძლიათ ბრაუზერში გადმოტვირთოთ მონაცემთა გადამოწმების ზოგიერთი ფუნქცია.

მოდით შევხედოთ ამ ატრიბუტებს იმის გასაგებად, თუ როგორ შეუძლიათ მათ დახმარებას ფორმის ვალიდაციაში.

ტიპის ატრიბუტი

ეს ატრიბუტი გვიჩვენებს, თუ რომელი შეყვანის ველი უნდა იყოს ნაჩვენები მონაცემთა დამუშავებისთვის, მაგალითად, ნაცნობი ველი

ზოგიერთი შეყვანის ველი უკვე გთავაზობთ სტანდარტული ვალიდაციის მეთოდებს, დამატებითი კოდის დაწერის საჭიროების გარეშე. მაგალითად, ის ამოწმებს ველს, რათა დარწმუნდეს, რომ შეყვანილი მნიშვნელობა ემთხვევა მოქმედი ელექტრონული ფოსტის მისამართის შაბლონს. თუ ველში არასწორი სიმბოლოა შეყვანილი, ფორმის გაგზავნა შეუძლებელია, სანამ მნიშვნელობა არ გამოსწორდება.

სცადეთ ითამაშოთ ელ.ფოსტის ველის მნიშვნელობებით ქვემოთ მოცემულ დემო ვერსიაში.

ასევე არსებობს ველების სხვა სტანდარტული ტიპები, როგორიცაა, და შესაბამისად, ნომრების, URL-ების და ტელეფონის ნომრების დასადასტურებლად.

შენიშვნა: ტელეფონის ნომრის ფორმატები განსხვავდება ქვეყნიდან ქვეყანაში, ტელეფონის ნომრებში ციფრების და ფორმატებში განსხვავების გამო. შედეგად, სპეციფიკაცია არ განსაზღვრავს ტელეფონის ნომრების შემოწმების ალგორითმს, ამიტომ წერის დროს ეს ფუნქცია ცუდად არის მხარდაჭერილი ბრაუზერების მიერ.

ჩვენდა საბედნიეროდ, ტელეფონის ნომრის ვალიდაცია შეიძლება განხორციელდეს ნიმუშის ატრიბუტის გამოყენებით, რომელიც არგუმენტად იღებს რეგულარულ გამოხატულებას, რომელსაც შემდეგ განვიხილავთ.

ნიმუშის ატრიბუტი

შაბლონის ატრიბუტი, სავარაუდოდ, ბევრ წინა დეველოპერს გახარებს. ეს ატრიბუტი იღებს რეგულარულ გამონათქვამს ( JavaScript რეგულარული გამოხატვის ფორმატის მსგავსი), რომელიც გამოყენებული იქნება ველში შეყვანილი მონაცემების სისწორის შესამოწმებლად.

რეგულარული გამონათქვამები არის ენა, რომელიც გამოიყენება ტექსტის გასაანალიზებლად და მანიპულირებისთვის. ისინი ხშირად გამოიყენება კომპლექსური მოძიებისა და ჩანაცვლების ოპერაციებისთვის, ასევე შეყვანილი მონაცემების სისწორის შესამოწმებლად.

დღესდღეობით, რეგულარული გამონათქვამები შედის ყველაზე პოპულარულ პროგრამირების ენებში, ისევე როგორც ბევრ სკრიპტირების ენაში, რედაქტორებში, აპლიკაციებში, მონაცემთა ბაზებსა და ბრძანების ხაზში.

რეგულარული გამონათქვამები (RegEX) არის ძლიერი, ლაკონური და მოქნილი ინსტრუმენტი ტექსტის სტრიქონის შესატყვისად, როგორიცაა ინდივიდუალური სიმბოლოები, სიტყვები ან სიმბოლოების ნიმუშები.

ნიმუშის ატრიბუტის მნიშვნელობად რეგულარული გამოხატვის გადაცემით, შეგიძლიათ მიუთითოთ რა მნიშვნელობებია მისაღები მოცემული შეყვანის ველისთვის, ასევე შეატყობინოთ მომხმარებელს შეცდომების შესახებ.

მოდით შევხედოთ რეგულარული გამონათქვამების გამოყენების რამდენიმე მაგალითს შეყვანის ველების მნიშვნელობის დასადასტურებლად.

Ტელეფონის ნომრები

როგორც უკვე აღვნიშნეთ, ტელეფონების ველის ტიპი სრულად არ არის მხარდაჭერილი ბრაუზერების მიერ სხვადასხვა ქვეყანაში ტელეფონის ნომრის ფორმატში შეუსაბამობის გამო.

მაგალითად, ზოგიერთ ქვეყანაში ტელეფონის ნომრების ფორმატი არის xxxx-xxx-xxxx, ხოლო თავად ტელეფონის ნომერი იქნება ასეთი: 0803-555-8205.

რეგულარული გამოხატულება, რომელსაც ეს ნიმუში ემთხვევა, არის: ^\d(4)-\d(3)-\d(4)$. კოდში ეს შეიძლება ჩაიწეროს ასე:

Ტელეფონის ნომერი:

ალფანუმერული მნიშვნელობების ატრიბუტი საჭიროა

ეს არის ლოგიკური ატრიბუტი, რომელიც გამოიყენება იმის აღსანიშნავად, რომ მოცემული ველის მნიშვნელობა უნდა იყოს შევსებული ფორმის გასაგზავნად. როდესაც ამ ატრიბუტს დაამატებთ ველს, ბრაუზერი მომხმარებლისგან მოსთხოვს ამ ველის შევსებას ფორმის გაგზავნამდე.

ეს გვიცავს JavaScript-ის გამოყენებით ველის ვალიდაციის განხორციელებისგან, რაც დეველოპერებს გარკვეული დროის დაზოგვას შეუძლია.

მაგალითად: ან (XHTML თავსებადობისთვის)

ყველა დემო ვერსია, რომელიც თქვენ იხილეთ ზემოთ, იყენებს საჭირო ატრიბუტს, ასე რომ თქვენ შეგიძლიათ სცადოთ იგი ფორმის გაგზავნით ველის შევსების გარეშე.

დასკვნა

ბრაუზერის მხარდაჭერა ფორმის ვალიდაციისთვის საკმაოდ კარგია და ძველი ბრაუზერებისთვის შეგიძლიათ გამოიყენოთ პოლიფილები.

აღსანიშნავია, რომ მხოლოდ ბრაუზერის მხრიდან ვალიდაციაზე დაყრდნობა სახიფათოა, რადგან ეს შემოწმებები ადვილად შეიძლება გვერდის ავლით თავდამსხმელებს ან ბოტებს.

ყველა ბრაუზერს არ აქვს HTML5 მხარდაჭერა და თქვენს სკრიპტზე გაგზავნილი ყველა მონაცემი არ იქნება თქვენი ფორმიდან. ეს ნიშნავს, რომ მომხმარებლისგან მონაცემების საბოლოოდ მიღებამდე აუცილებელია სერვერის მხრიდან მისი სისწორის შემოწმება.

ნებისმიერი ვებ დეველოპერისთვის, ამჟამად არ არსებობს უფრო სერიოზული პრობლემა, ვიდრე მისი პროდუქტის სრული ბრაუზერის თავსებადობა. ეს, ალბათ, კარგი სპეციალისტის ერთ-ერთი მთავარი ამოცანაა: უზრუნველყოს, რომ მისი ვებსაიტი ყოველთვის სწორად იყოს ნაჩვენები ყველა ბრაუზერში.

საჭირო პარამეტრი, რომელიც ზოგჯერ გამოიყენება შეყვანისთვის, არ მუშაობს ძველ IE-ში, რომლის ასე დატოვება უბრალოდ შეუძლებელია. პენსიაზე გასულ მომხმარებლებს, რომლებიც კვლავ იყენებენ IE6-ს, უნდა ჰქონდეთ ისეთივე მარტივი გამოყენება, როგორც Google Chrome-ის უახლესი ვერსიის მომხმარებლებს. ვისაც ვებ დეველოპერების გარდა შეუძლია მათზე ზრუნვა.

მტკივნეული წერტილის შესახებ, Internet Explorer-ის შესახებ

ჩვეულებრივი ბრაუზერებისთვის, რომლებიც მოიცავს Firefox, Opera და Google Chrome, ეს ამოცანა შედარებით მარტივია. ამ ბრაუზერების ძველ ვერსიებშიც კი კარგად ჩანს HTML კოდი, თუ, რა თქმა უნდა, არ არის გამოყენებული ახალი ტექნოლოგიები. მაგრამ ამის მისაღწევად Internet Explorer-ის ოჯახის ბრაუზერებში უბრალოდ ჰერკულეს ძალისხმევაა საჭირო.

Internet Explorer ბრაუზერის თითოეულ ვერსიას აქვს თავისი უნიკალური სისულელე. ის, რაც მუშაობს IE6-ში, შეიძლება არ იმუშაოს სწორად IE7-ში და პირიქით. Microsoft-მა ბრაუზერის უახლესი ვერსიითაც კი ვერ გადალახა ეს ზოოპარკი.

ვერ ვხვდები, რატომ არ შეუძლიათ ბრაუზერის დეველოპერებს უბრალოდ გახსნან და წაიკითხონ W3C სტანდარტები ვებსაიტების შესაქმნელად.

ამიტომ, როგორც ვებ დეველოპერმა, მე უნდა ვიმოქმედო როგორც ერთგვარი „ფენა“ კაპრიზულ ბრაუზერებსა და საიტის ვიზიტორებს შორის, რომლებიც საჭიროებენ ცოდნას და სპექტაკლს. და მშვენიერია, რომ ვებ დეველოპერებმა ეს აქამდე მოახერხეს.

მაშ, როგორ მოვითხოვ IE-ს ძველ ვერსიებში მუშაობას?

JS გვეხმარება. ადრე ამას ვერ ვიტანდი, მაგრამ ახლა მის გარეშე ვერ ვხედავ შემდგომ გზას "სწორი" WEB-ის სივრცეში.

ქვემოთ მოცემული გამოსავალი მე თვითონ არ გამომიგონია, არამედ ბურჟუაზიული ბლოგიდან ავიღე. რადგან ხარბი ვარ და ბლოგი ბურჟუაზიულია, ლინკს არ დავდებ.

ყველაფერზე პასუხისმგებელი იქნება fnCheckFields() ფუნქცია. განათავსეთ JS კოდი თქვენს საიტზე:

ფუნქცია fnCheckFields(form_obj)( var error_msg = "გთხოვთ შეავსოთ ყველა საჭირო ველი."; var is_error = false; for (var i = 0; form_obj_elem = form_obj.elements[i]; i++) if (form_obj_elem.type "input" || form_obj_elem.აკრიფეთ "ტექსტი") თუ (form_obj_elem.getAttribute("საჭირო") && !form_obj_elem.value) is_error = true; if (is_error) alert(error_msg); დაბრუნება !is_error; )

ჩვეულებრივ რეკომენდირებულია მისი განთავსება გვერდის დასაწყისში HEAD html ტეგებს შორის, მაგრამ მაინც გირჩევთ, განათავსოთ იგი გვერდის ბოლოში BODY ტეგის დახურვამდე. ამ გზით JS ნაკლებ გავლენას ახდენს გვერდის ჩატვირთვის სიჩქარეზე.

შეყვანის ფანჯარა, სადაც უნდა შეიყვანოთ საჭირო პარამეტრი, ასე უნდა გამოიყურებოდეს html-ში:

ეს სკრიპტი მუშაობს ძალიან მარტივად: ღილაკზე გაგზავნის დაწკაპუნების შემდეგ, სკრიპტი ამოწმებს ყველა შეყვანას საჭირო პარამეტრის არსებობაზე და თუ იპოვის, შესაბამისად ათვალიერებს ამ ველის შეყვანილ მნიშვნელობას. თუ ასეთ შეყვანაში არაფერია შეყვანილი, გამოჩნდება გამაფრთხილებელი ფანჯარა შეყვანის საჭიროების შესახებ. შესაბამისად, მონაცემები არსად იგზავნება.

ასევე კარგია, რომ თუ თქვენ გაქვთ ნორმალური ბრაუზერი, რომელმაც უკვე ისწავლა ამ პარამეტრის გაგება, როგორც მოსალოდნელი იყო, ასეთი გამაფრთხილებელი ფანჯარა არ გამოჩნდება და იმუშავებს თქვენი ბრაუზერისთვის საჭირო პარამეტრის დამუშავების სტანდარტული ინსტრუმენტები.

გააზიარეთ სოციალურ მედიაში ქსელები

გამარჯობა ბიჭებო, იმედია ყველაფერი კარგად იქნება, დღეს ჩვენ აგიხსნით ძალიან სასარგებლო გაკვეთილს. დღევანდელ გაკვეთილზე ჩვენ შევქმნით მარტივ საკონტაქტო ფორმას angularJS-ისა და php-ის გამოყენებით.

საკონტაქტო ფორმა არის სტანდარტული ვებ გვერდი, რომელიც ხელმისაწვდომია ყველა ვებსაიტზე. ეს საშუალებას აძლევს საიტის ვიზიტორებს დაუკავშირდნენ საიტის მფლობელებს ან სერვის პროვაიდერებს, რომლებიც პასუხისმგებელნი არიან ამ ვებსაიტის შენარჩუნებაზე. ასე რომ, ჩვენ ვფიქრობდით, რატომ არ შეგვექმნა მარტივი საკონტაქტო ფორმა Angularjs-ისა და php-ის გამოყენებით ვებსაიტების, მკითხველებისა და/ან მომხმარებლებისგან შეტყობინებების მისაღებად.

ჩვენ ვიყენებთ Angularjs-ს წინა ბოლოსთვის და php სერვერის მხარეს. ჩვენ დავწერთ კოდს php-ში, რომელიც იღებს მონაცემებს Angular ფორმიდან და აგზავნის ელფოსტით საიტის ადმინისტრატორს. შექმენით საქაღალდე სახელწოდებით “contact-form” თქვენი აპლიკაციის ვებ დირექტორიაში და შექმენით HTML გვერდის დიზაინის ნიმუში - index.html. ახლა დააკოპირეთ და ჩასვით ქვემოთ მოცემული კოდი index.html ფაილში.

დემო - მარტივი საკონტაქტო ფორმა Angularjs-ისა და php-ის გამოყენებით საკონტაქტო ფორმა angularjs-ისა და PHP-ის გამოყენებით თქვენი სახელი ელფოსტა შეტყობინების გაგზავნა

Php კოდი ელფოსტის გასაგზავნად

შექმენით contact.php გვერდი და დააკოპირეთ ჩასვით ქვემოთ მოცემული კოდი. ქვემოთ მოცემულია php კოდი, რომელიც ამოიღებს მონაცემებს კუთხოვანი ფორმიდან და გაგზავნის ელფოსტით მითითებულ ელფოსტის მისამართზე.

< ?php $post_data = file_get_contents("php://input"); $data = json_decode($post_data); //Just to display the form values echo "Name: " . $data->სახელი; echo "ელფოსტა: " . $data->email; echo "მესიჯი:". $data->message; // გამოგვიგზავნა ელ.წერილი $to = $data->email; $subject = "სატესტო წერილის საიტი angularjs საკონტაქტო ფორმის შესამოწმებლად"; $message = $data->message; $headers = "From: " . $data->name .. "\r\n" .. "\r\n" . "X-Mailer: PHP/" . phpversion(); //PHP ფოსტის ფუნქცია ელექტრონული ფოსტის მისამართის ფოსტაზე გაგზავნისთვის ($to, $subject, $message, $headers); ?>

ინსტრუქცია: აქ არის ცხრილი 49 ნომრით - 25 მცირე და 24 დიდი. თქვენ უნდა მოძებნოთ რიცხვები მცირე შრიფტით 1-დან 25-მდე ზრდადი თანმიმდევრობით და დიდი შრიფტით 24-დან 1-მდე კლებადობით. ეს უნდა გაკეთდეს მონაცვლეობით: 1 - წვრილად, 24 - მსხვილი ბეჭდვით, 2 - წვრილმანით, 23 - მსხვილი შრიფტით და ა.შ. როდესაც იპოვით რიცხვს, ჩაწერეთ ის ტესტის ფურცელზე მის გვერდით ასოსთან ერთად.

დავალების შესრულების დრო - 5 წუთი.

მე-7

4-ინ

15-ვ

8-საათიანი

11-კ

1-გრ

25-ე

14-შ

18-ლ

21-ფ

15-z

მე-3

19-ფ

17-z

7-ფ

2

მე-11

10-წ

23-ე

მე-8

10-ა

17-ბ

14-გვ

6-რ

20-გვ

13 სთ.

23-შ

5-წ

9-ფ

3-ლ

22-ბ

1-ლი

16-გ

6-დ

13-ნ

მე-2

4-წ

22-0

20-ა

12-ები

19-ზ

24-ე

24-გრ

18-წ

12-ტ

9-კ

16-ნ

21-დ

5-ო

საკონტროლო ფორმა:

Დიდი ზომა

შედეგები:. . . . . . . . . . . . . . . . . . . . . . . . . . . .

შედეგების შეფასება (განაწილება და ყურადღების გადართვა):

მეთოდოლოგია „გეომეტრიული ფიგურების რეპროდუქცია“ (საშუალო და უფროსი მოზარდობა)ინსტრუქციები. 10 წამის განმავლობაში გთხოვენ გულდასმით დაათვალიეროთ მე-10 კვადრატში ჩაწერილი ფიგურები... მეთოდი "იპოვე შეცდომა ანდაზებში"ინსტრუქცია: იპოვნეთ შეცდომა ანდაზებში. დავალების შესრულების დრო არის 3 წუთი. ფორმაზე... მეთოდოლოგია "ოპერაციული ვიზუალური მეხსიერების შეფასება"ბავშვის ოპერატიული ვიზუალური მეხსიერება და მისი ინდიკატორები შეიძლება განისაზღვროს შემდეგი...

დაამატეთ კომენტარი

აუცილებელია გთხოვთ აირჩიოთ სხვა სახელი

აუცილებელია გთხოვთ შეიყვანოთ სწორი ელ. ფოსტა

ავღანეთი ალჟირი არგენტინა სომხეთი ავსტრალია ავსტრალია აზერბაიჯანი ბაჰრეინი ბანგლადეში ბელარუსია ბელგია ბელიზი ბერმუდის ბოლივარიული რესპუბლიკა ვენესუელა ბოლივია ბოსნია და ჰერცოგოვინა ბრაზილია ბრუნეი დარუსალამი ბულგარეთი კამბოჯა კანადა კარიბის ზღვის აუზი ჩილე კოლუმბია კოსტა რიკა ხორვატია ჩეხეთის რესპუბლიკა დანია დომინიკის რესპუბლიკა ფინეთი ეკვადორი ელ. გერმანია საბერძნეთი გრენლანდია გვატემალა ჰონდურასი ჰონგ კონგი S.A.R. უნგრეთი ისლანდია ინდოეთი ინდონეზია ირანი ერაყი ირლანდია ისლამური რესპუბლიკა პაკისტანი ისრაელი იტალია იამაიკა იაპონია იორდანია ყაზახეთი კენია კორეა ქუვეითი ყირგიზეთი ლაო პ.დ.რ. ლატვია ლიბანი ლიბია ლიხტენშტეინი ლიტვა ლუქსემბურგი მაკაო ს.ა.რ. მაკედონია (FYROM) მალაიზია მალდივები მალტა მექსიკა მონღოლეთი მონტენეგრო მაროკო ნეპალი ნიდერლანდები ახალი ზელანდია ნიკარაგუა ნიგერია ნორვეგია ომანი პანამა პარაგვაი ჩინეთის სახალხო რესპუბლიკა პერუ ფილიპინები ფილიპინები პოლონეთი პორტუგალია მონაკოს სამთავრო პუერტო რიკო ყატარი ფილიპინების რესპუბლიკა რუმინეთი რუანდა სერბეთი სენი და საუდის არაბეთი ყოფილი) სინგაპური სლოვაკეთი სლოვენია სამხრეთ აფრიკა ესპანეთი შრი-ლანკა შვედეთი შვეიცარია სირია ტაივანი ტაჯიკეთი ტაილანდი ტრინიდადი და ტობაგო ტუნისი თურქმენეთი U.A.E უკრაინა გაერთიანებული სამეფო შეერთებული შტატები ურუგვაი უზბეკეთი ვიეტნამი იემენი ზიმბაბვე

საჭირო