Biểu mẫu javascript trong php

Các ví dụ này sẽ chỉ ra cách xử lý các biểu mẫu PHP có lưu ý đến tính bảo mật. Xác nhận đúng cách dữ liệu biểu mẫu là điều quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và những kẻ gửi thư rác

Biểu mẫu HTML mà chúng ta sẽ làm việc trong các chương trình này, bao gồm các trường nhập liệu khác nhau. trường văn bản bắt buộc và tùy chọn, nút radio và nút gửi

Các quy tắc xác thực cho các biểu mẫu trên như sau

File Quy tắc xác thực Tên bắt buộc, yêu cầu bắt buộc, bao gồm các ký tự và khoảng trắngE-mailrequired, yêu cầu bắt buột, địa chỉ email đúng định dạng (chứa @ và. )Websitetùy chọn, yêu cầu không bắt buột, chứa URL có giá trịNhận xét tùy chọn, yêu cầu không bắt buột, chứa nhiều dòng thông tin nhập vàoGenderrequired, yêu cầu bắt buột, chọn một tùy chọn

Trước tiên, chúng tôi sẽ xem xét mã HTML thuần túy cho biểu mẫu

Trường văn

Tên trường, email và trang web là các yếu tố nhập văn bản và trường nhận xét là một vùng văn bản. Code HTML as after

Name: 
E-mail: 
Website: 
Comment: 

Các nút Radio

Các trường được giới hạn là các nút radio và mã HTML như sau

Gender:
Female
Male
Other

Dạng phần tử

Mã HTML của biểu mẫu biểu mẫu như sau

Khi biểu mẫu được gửi đi, dữ liệu biểu mẫu được gửi bằng method = "post"

Biến $_SERVER["PHP_SELF"] là gì?

$_SERVER["PHP_SELF"] là một siêu biến toàn cục trả về tên tệp của lệnh hiện đang thực thi

Vì vậy,

Gender:
Female
Male
Other
7 sẽ gửi dữ liệu biểu mẫu đã gửi đến trang chính đó, thay vì chuyển sang một trang khác. Bằng cách này, người dùng sẽ nhận được thông báo lỗi trên cùng một trang với biểu mẫu

Hàm htmlspecialchars() là gì?

Hàm

Gender:
Female
Male
Other
8 chuyển đổi các ký tự đặc biệt thành HTML thông thường có thể thực hiện được. Điều này có nghĩa là nó sẽ thay thế các ký tự HTML đặc biệt như @, #, $.  . Điều này ngăn chặn những kẻ tấn công khai thác mã bằng cách chèn mã HTML hoặc Javascript (Các cuộc tấn công Tập lệnh chéo trang web) trong các biểu mẫu

Lưu ý quan trọng về biểu mẫu PHP


Biến

Gender:
Female
Male
Other
7 có thể bị hacker sử dụng

Nếu

Gender:
Female
Male
Other
0 được sử dụng trong trang của bạn thì người dùng có thể nhập dấu gạch chéo (/) rồi thực thi một số lệnh Cross Site Scripting (XSS)

Cross-site scripting (XSS) là một loại lỗi truy cập mật mã máy tính thường thấy trong các ứng dụng Web. XSS cho phép những kẻ tấn công đưa tập lệnh phía máy khách vào các trang Web được người dùng khác xem

Giả sử chúng ta có biểu mẫu sau trong một trang có tên "test_form. php"

">

Bây giờ, nếu người dùng nhập URL bình thường vào thanh địa chỉ như "http. //www. thí dụ. com/test_form. php", thì đoạn mã trên sẽ được giao dịch thành công

Tuy nhiên, hãy xem nhận xét rằng người dùng nhập URL sau đó vào thanh địa chỉ

http. //www. thí dụ. com/test_form. php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E

Trong trường hợp này, mã trên sẽ được giao dịch thành

This code add a command tag and a command warning. Và khi tải trang, mã JavaScript sẽ được thực thi (người dùng sẽ thấy một hộp cảnh báo). Đây chỉ là một ví dụ đơn giản và vô hại về cách khai thác biến PHP_SELF

Xin lưu ý rằng bất kỳ mã JavaScript nào cũng có thể được thêm vào bên trong thẻ

Gender:
Female
Male
Other
1

Gender:
Female
Male
Other
2

Gender:
Female
Male
Other
3 của PHP)
  • Xóa dấu gạch chéo ngược (
    Gender:
    Female
    Male
    Other
    4) khỏi dữ liệu đầu vào của người dùng (với dấu gạch chéo ngược () trong PHP)
  • Bước tiếp theo là tạo ra một chức năng sẽ thực hiện tất cả các công việc kiểm tra cho chúng ta (điều kiện này thuận tiện hơn nhiều so với việc viết đi viết lại cùng một đoạn mã)

    Chúng ta sẽ đặt tên cho hàm là

    Gender:
    Female
    Male
    Other
    5

    Bây giờ, chúng ta có thể kiểm tra từng biến

    Gender:
    Female
    Male
    Other
    6 bằng hàm
    Gender:
    Female
    Male
    Other
    5 và tập lệnh như sau

    Ví dụ

    Ví dụ

    Gender:
    Female
    Male
    Other
    3

    View results

    Lưu ý rằng khi bắt đầu tập lệnh, chúng ta sẽ kiểm tra xem biểu mẫu đã được gửi bằng cách sử dụng biến

    Gender:
    Female
    Male
    Other
    8 hay chưa. Nếu REQUEST_METHOD là POST, thì biểu mẫu đã được gửi và nó sẽ được xác thực. Nếu nó chưa được gửi, thì bỏ xác thực và hiển thị một biểu mẫu trống

    Tuy nhiên, trong ví dụ trên, tất cả các trường bắt đầu là tùy chọn. Good active command ngay cả khi người dùng không nhập bất kỳ dữ liệu nào

    Bộ sưu tập có thể hiểu là một bộ lựa chọn có các thuộc tính và phương thức như một đối tượng, nó sẽ chọn lấy một tập hợp kết quả. bộ sưu tập biểu mẫu sẽ trả về tập hợp các thẻ 

    Gender:
    Female
    Male
    Other
    54 có trong trang

    Nội dung chính Hiển thị

    • Thuộc tính
    • Phương thức
    • Cách sử dụng
    • Truy cập đến biểu mẫu bằng javascript
    • Truy cập các quyền kiểm soát trong biểu mẫu để lấy giá trị
    • Kiểm tra dữ liệu trong biểu mẫu bằng javascript
    • Event onsubmit of form
    • Thực hiện kiểm tra dữ liệu trong biểu mẫu với javascript
    • Control in form
    • Thuộc tính name of form control
    • Nút radio
    • Thực hiện kiểm tra dữ liệu trong biểu mẫu với javascript

    Biểu mẫu javascript trong php

    Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức.

    Các thẻ trong tập tin được trả về sẽ được sắp xếp theo đúng thứ tự chúng xuất hiện trên trang

    Nếu bạn muốn lấy tập hợp tất cả các thẻ nằm trong thẻ

    Gender:
    Female
    Male
    Other
    55, hãy sử dụng bộ sưu tập các phần tử của đối tượng Biểu mẫu đối tượng

    cú pháp

    cú pháp.

    Gender:
    Female
    Male
    Other
    56

    Bài viết này đã được đăng tại [free tuts. mạng lưới]

    Thuộc tính

    Tên thuộc tính Mô tả chiều dài trả về số thẻ 
    Gender:
    Female
    Male
    Other
    54 thuộc tính trong bộ sưu tập

    Phương thức

    Phương thức mô tả[index]trả về phần tử ________ 154 chỉ mục trong tập hợp các phần tử trong bộ sưu tập(bắt đầu từ 0). Trả về null nếu chỉ mục lớn hơn số phần tử trong bộ sưu tập. item(index)trả về phần tử 
    Gender:
    Female
    Male
    Other
    54 chỉ mục thứ trong tập hợp các phần tử trong bộ sưu tập(bắt đầu từ 0). Trả về null nếu chỉ mục lớn hơn số phần tử trong bộ sưu tập. namedItem(id)trả về phần tử 
    Gender:
    Female
    Male
    Other
    54 có id được cung cấp. Nếu id không tồn tại, phương thức sẽ trả về null

    Cách sử dụng

    Sử dụng 

    Gender:
    Female
    Male
    Other
    56 kết hợp với thuộc tính 
    32 của nó để tìm tất cả các thẻ 
    Gender:
    Female
    Male
    Other
    54 trên trang

    5

    Tham khảo. w3schools. com

    Kiểm tra dữ liệu trong biểu mẫu với javascript là công việc quan trọng thường phải thực hiện của nhà phát triển web, để kiểm tra tính đúng đắn của dữ liệu

    Trong trang web, biểu mẫu là các vùng để người dùng nhập thông tin. Ví dụ. biểu mẫu đăng nhập, biểu mẫu đăng ký, biểu mẫu liên hệ, biểu mẫu tìm kiếm… mỗi biểu mẫu, thường có 1 nút gửi để gửi dữ liệu lên máy chủ

    Khi người dùng cài đặt vào nút gửi, trình duyệt sẽ cấu trúc dữ liệu ở dạng gửi lên cho máy chủ xử lý

    Truy cập đến biểu mẫu bằng javascript

    Có thể truy cập Form bằng các cách sau

    Gender:
    Female
    Male
    Other
    5

    Truy cập các quyền kiểm soát trong biểu mẫu để lấy giá trị

    3____28

    Kiểm tra dữ liệu trong biểu mẫu bằng javascript

    Là kiểm tra xem thông tin có được điền đúng yêu cầu hay chưa. Ví dụ tuổi hay số lượng sản phẩm phải là kiểu nguyên, ngày sinh được là chữ, mã sinh viên phải dài 7 ký tự …. Kiểm tra và thông báo lỗi, người dùng được thông báo và nhập lại cho đúng, khi thông tin đó được xử lý và lưu trữ mới có giá trị

    Event onsubmit of form

    Mỗi biểu mẫu có một hoặc nhiều nút gửi. Khi người dùng nhấp vào nút gửi, sự kiện onSubmit của biểu mẫu sẽ xảy ra

    Sử dụng javascript, bạn có thể bổ sung để sự kiện gửi có xảy ra hay không. Trong onSubmit return true (default) thì sự kiện gửi diễn ra bình thường, dữ liệu dạng tin tức sẽ được gửi lên Server. Nếu trong onSubmit bạn dùng return false thì sự kiện gửi của biểu mẫu bị bỏ qua, dữ liệu không được gửi lên máy chủ

    Thực hiện kiểm tra dữ liệu trong biểu mẫu với javascript

    Bạn cần viết một để kiểm tra dữ liệu trong biểu mẫu xem có hợp với quy tắc mong muốn hay không, nếu không hợp lệ thì trả về false, còn nếu hợp lệ thì trả về true. Hàm này bạn gọi trong sự kiện onSubmit của biểu mẫu thẻ. Ví dụ.

    9

    Mã kiểm tra javascript

    Gender:
    Female
    Male
    Other
    0

    Tùy chỉnh tính chất phức tạp của các quy tắc dữ liệu , mà các quy tắc kiểm tra trong hàm kiemtra sẽ nhiều hoặc ít. Nhưng sẽ trả về true khi kiểm tra đúng và sai khi có dữ liệu sai quy tắc

    Control in form

    Trong mỗi biểu mẫu sẽ có nhiều quyền kiểm soát để người dùng nhập thông tin như trường văn bản, vùng văn bản, hộp chọn, hộp kiểm, nút radio, nút…

    Thuộc tính name of form control

    Các điều khiển trong biểu mẫu có 1 thuộc tính đặt biệt, thuộc tính tên. Bạn có thể sử dụng tên thuộc tính này để truy cập vào một nhóm quyền kiểm soát. Ví dụ

    Gender:
    Female
    Male
    Other
    1

    Như vậy các thẻ trong biểu mẫu có 2 thuộc tính định danh là idname . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 tag còn name thì có thể trùng nhau.

    Sử dụng phương thức getElementsByName(name) để lấy các phần tử có cùng thuộc tính name. Hàm này trả về một mảng các phần tử cùng tên

    Gender:
    Female
    Male
    Other
    2

    Chọn hộp

    Select box là hộp chọn gồm nhiều mục, mỗi mục nằm trong tag

    Chú thích. Mục nào thuộc tính được chọn sẽ được chọn sẵn khi trang web mới tải

    Gender:
    Female
    Male
    Other
    3

    Truy xuất đến hộp chọn

    Bạn truy cập vào giá trị được chọn của hộp chọn bằng giá trị thuộc tính. Cũng có thể gán giá trị cho hộp chọn để thay đổi mục chọn

    Gender:
    Female
    Male
    Other
    4

    hộp kiểm

    Hộp kiểm thường được sử dụng để người dùng chọn trạng thái có hoặc không có 1 trạng thái nào. Sử dụng thuộc tính đã chọn của hộp kiểm để lấy trạng thái và gán trạng thái cho hộp kiểm. Nếu thuộc tính được chọn là đúng có nghĩa là hộp kiểm đang được chọn, còn nếu thuộc tính được chọn là sai tức là hộp kiểm không được chọn

    Gender:
    Female
    Male
    Other
    50

    Ứng dụng liệt kê các loại kem được chọn

    Gender:
    Female
    Male
    Other
    51

    Nút radio

    Nút radio là quyền kiểm soát để người dùng chọn 1 mục trong nhóm. Giống như hộp kiểm, đài cũng có thuộc tính được chọn (true / false) diễn tả nó được chọn hay không. Nút radio thường được sử dụng theo nhóm, trong mỗi nhóm chỉ có 1 cái được chọn