Làm cách nào để lấy giá trị của hộp kiểm trong PHP mà không cần gửi?

Tuy nhiên, nếu người dùng không chọn tùy chọn này, thì bản thân trường opt_in_newsletter sẽ không có trong dữ liệu biểu mẫu mà bạn nhận được ở phía máy chủ


email=name@domain.com

Bạn có thể đã mong đợi opt_in_newsletter=off Nhưng trên thực tế, hành vi này khác, khuyến nghị của W3c nhân tiện hỗ trợ hành vi này

Bạn có thể kiểm tra hành vi này trong mẫu dưới đây. Mã bên dưới sử dụng dịch vụ hiển thị. bến tàu. com để hiển thị các giá trị nhận được ở phía máy chủ. [lưu ý rằng trường hành động của biểu mẫu được đặt thành hiển thị. bến tàu. com ] Nếu bạn không chọn hộp kiểm, sẽ không có bất kỳ giá trị nào tương ứng với hộp kiểm trong dữ liệu nhận được ở phía máy chủ

Xem cây bút

Các giải pháp

Một giải pháp là kiểm tra sự hiện diện của giá trị ở phía máy chủ

Một cách khác là cập nhật dữ liệu biểu mẫu trước khi gửi đến máy chủ, sử dụng Javascript

Cách giải quyết bằng cách sử dụng các trường ẩn

Trong trường hợp bạn muốn có một giá trị xác định cho mỗi đầu vào ở phía máy chủ, hãy sử dụng các trường ẩn cùng với hộp kiểm. Cả hai trường phải có cùng tên

Điều này sẽ kích hoạt escreve. php. Nó hoạt động tốt, nhưng câu hỏi đặt ra là làm thế nào tôi có thể kích hoạt escreve. php không có nút gửi?

Tôi muốn có escreve. php đọc giá trị của hộp kiểm bất cứ khi nào người dùng nhấp vào hoặc thoát. Vì tôi cũng đang sử dụng jQuery, điều đó có khả thi không?

Cảm ơn vì bất kì sự giúp đỡ

Giải pháp tốt nhất

bạn có thể sử dụng một số javascript để kích hoạt gửi


    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

Giải pháp liên quan

Php – Cách ngăn SQL injection trong PHP

Cách chính xác để tránh các cuộc tấn công SQL injection, bất kể bạn sử dụng cơ sở dữ liệu nào, là tách dữ liệu khỏi SQL, để dữ liệu vẫn là dữ liệu và sẽ không bao giờ được trình phân tích cú pháp SQL diễn giải thành các lệnh. Có thể tạo câu lệnh SQL với các phần dữ liệu được định dạng chính xác, nhưng nếu bạn không hiểu đầy đủ chi tiết, bạn nên luôn sử dụng câu lệnh đã chuẩn bị sẵn và truy vấn được tham số hóa. Đây là các câu lệnh SQL được máy chủ cơ sở dữ liệu gửi đến và phân tích cú pháp riêng biệt với bất kỳ tham số nào. Bằng cách này, kẻ tấn công không thể tiêm SQL độc hại

Về cơ bản, bạn có hai lựa chọn để đạt được điều này

  1. Sử dụng PDO [đối với mọi trình điều khiển cơ sở dữ liệu được hỗ trợ]

     $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];
    
     $stmt->execute[[ 'name' => $name ]];
    
     foreach [$stmt as $row] {
         // Do something with $row
     }
    
  2. Sử dụng MySQLi [dành cho MySQL]

     $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
     $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'
    
     $stmt->execute[];
    
     $result = $stmt->get_result[];
     while [$row = $result->fetch_assoc[]] {
         // Do something with $row
     }
    

Nếu bạn đang kết nối với cơ sở dữ liệu không phải MySQL, thì có tùy chọn thứ hai dành riêng cho trình điều khiển mà bạn có thể tham khảo [ví dụ:


    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

5 và

    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

6 cho PostgreSQL]. PDO là tùy chọn phổ quát

Thiết lập kết nối chính xác

Lưu ý rằng khi sử dụng PDO để truy cập cơ sở dữ liệu MySQL, các câu lệnh chuẩn bị thực không được sử dụng theo mặc định. Để khắc phục điều này, bạn phải tắt mô phỏng các câu lệnh đã chuẩn bị. Một ví dụ về việc tạo kết nối bằng PDO là

$dbConnection = new PDO['mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'];

$dbConnection->setAttribute[PDO::ATTR_EMULATE_PREPARES, false];
$dbConnection->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];

Trong ví dụ trên, chế độ lỗi không thực sự cần thiết, nhưng bạn nên thêm nó vào. Bằng cách này, kịch bản sẽ không dừng lại với


    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

7 khi có sự cố xảy ra. Và nó mang lại cho nhà phát triển cơ hội

    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

8 bất kỳ [các] lỗi nào mà

    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

9n thành
 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
0

Tuy nhiên, điều bắt buộc là dòng

 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
1 đầu tiên, yêu cầu PDO tắt các câu lệnh đã chuẩn bị được mô phỏng và sử dụng các câu lệnh đã chuẩn bị thực sự. Điều này đảm bảo câu lệnh và các giá trị không được PHP phân tích cú pháp trước khi gửi nó đến máy chủ MySQL [khiến kẻ tấn công không có cơ hội tiêm SQL độc hại]

Mặc dù bạn có thể đặt

 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
2 trong các tùy chọn của hàm tạo, điều quan trọng cần lưu ý là các phiên bản PHP 'cũ' [trước 5. 3. 6] âm thầm bỏ qua tham số bộ ký tự trong DSN

Giải trình

Câu lệnh SQL bạn chuyển đến

 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
3 được máy chủ cơ sở dữ liệu phân tích cú pháp và biên dịch. Bằng cách chỉ định các tham số [hoặc là một
 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
4 hoặc một tham số được đặt tên như
 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
5 trong ví dụ trên], bạn cho công cụ cơ sở dữ liệu biết nơi bạn muốn lọc. Sau đó, khi bạn gọi
 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
6, câu lệnh đã chuẩn bị được kết hợp với các giá trị tham số mà bạn chỉ định

Điều quan trọng ở đây là các giá trị tham số được kết hợp với câu lệnh đã biên dịch, không phải là chuỗi SQL. SQL injection hoạt động bằng cách lừa tập lệnh bao gồm các chuỗi độc hại khi nó tạo SQL để gửi đến cơ sở dữ liệu. Vì vậy, bằng cách gửi SQL thực riêng biệt với các tham số, bạn sẽ hạn chế rủi ro kết thúc bằng thứ mà bạn không có ý định

Bất kỳ tham số nào bạn gửi khi sử dụng câu lệnh đã chuẩn bị sẽ chỉ được coi là chuỗi [mặc dù công cụ cơ sở dữ liệu có thể thực hiện một số tối ưu hóa để tất nhiên, tham số cũng có thể kết thúc dưới dạng số]. Trong ví dụ trên, nếu biến

 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
7 chứa
 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
8 thì kết quả sẽ chỉ là tìm kiếm chuỗi
 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
9 và bạn sẽ không nhận được một bảng trống

Một lợi ích khác của việc sử dụng các câu lệnh đã chuẩn bị là nếu bạn thực hiện cùng một câu lệnh nhiều lần trong cùng một phiên thì nó sẽ chỉ được phân tích cú pháp và biên dịch một lần, giúp bạn tăng tốc độ

Ồ, và vì bạn đã hỏi về cách thực hiện cho phần chèn, đây là một ví dụ [sử dụng PDO]

 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
0

Câu lệnh đã chuẩn bị có thể được sử dụng cho các truy vấn động không?

Mặc dù bạn vẫn có thể sử dụng các câu lệnh đã chuẩn bị cho các tham số truy vấn, nhưng bản thân cấu trúc của truy vấn động không thể được tham số hóa và một số tính năng truy vấn nhất định không thể được tham số hóa

Đối với những trường hợp cụ thể này, điều tốt nhất cần làm là sử dụng bộ lọc danh sách trắng để hạn chế các giá trị có thể

 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
1

Php – Xóa phần tử khỏi mảng trong PHP

Có nhiều cách khác nhau để xóa một phần tử mảng, trong đó một số cách hữu ích cho một số tác vụ cụ thể hơn những cách khác

Xóa một phần tử mảng

Nếu bạn chỉ muốn xóa một phần tử mảng, bạn có thể sử dụng

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0 hoặc cách khác là
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
1

Nếu bạn biết giá trị và không biết khóa để xóa phần tử, bạn có thể sử dụng

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
2 để lấy khóa. Điều này chỉ hoạt động nếu phần tử không xảy ra nhiều lần, vì
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
3 chỉ trả về lần truy cập đầu tiên

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0

Lưu ý rằng khi bạn sử dụng

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0, các khóa của mảng sẽ không thay đổi. Nếu bạn muốn lập chỉ mục lại các khóa, bạn có thể sử dụng
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
6 sau
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0, điều này sẽ chuyển đổi tất cả các khóa thành các khóa được liệt kê bằng số bắt đầu từ 0

Mã số

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0

đầu ra

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
1

phương pháp
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
1

Nếu bạn sử dụng

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
1, các khóa sẽ tự động được lập chỉ mục lại, nhưng các khóa kết hợp sẽ không thay đổi — trái ngược với
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
6, sẽ chuyển đổi tất cả các khóa thành khóa số

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
1 cần phần bù, không phải khóa, làm tham số thứ hai

Mã số

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
6

đầu ra


    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

0

$dbConnection = new PDO['mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'];

$dbConnection->setAttribute[PDO::ATTR_EMULATE_PREPARES, false];
$dbConnection->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
2, giống như
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0, lấy mảng theo tham chiếu. Bạn không gán giá trị trả về của các hàm đó cho mảng

Xóa nhiều phần tử mảng

Nếu bạn muốn xóa nhiều phần tử mảng và không muốn gọi hàm

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0 hoặc
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
1 nhiều lần thì có thể sử dụng hàm
$dbConnection = new PDO['mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'];

$dbConnection->setAttribute[PDO::ATTR_EMULATE_PREPARES, false];
$dbConnection->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
6 hoặc
$dbConnection = new PDO['mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'];

$dbConnection->setAttribute[PDO::ATTR_EMULATE_PREPARES, false];
$dbConnection->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
7 tùy thuộc vào việc bạn có biết giá trị hoặc khóa của phần tử muốn xóa hay không.

phương pháp
$dbConnection = new PDO['mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'];

$dbConnection->setAttribute[PDO::ATTR_EMULATE_PREPARES, false];
$dbConnection->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
6

Nếu bạn biết giá trị của các phần tử mảng mà bạn muốn xóa, thì bạn có thể sử dụng

$dbConnection = new PDO['mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'];

$dbConnection->setAttribute[PDO::ATTR_EMULATE_PREPARES, false];
$dbConnection->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
6. Như trước đây với
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0, nó sẽ không thay đổi các khóa của mảng

Mã số


    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

1

đầu ra


    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

2

phương pháp
$dbConnection = new PDO['mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'];

$dbConnection->setAttribute[PDO::ATTR_EMULATE_PREPARES, false];
$dbConnection->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
7

Nếu bạn biết khóa của các phần tử mà bạn muốn xóa, thì bạn muốn sử dụng

$dbConnection = new PDO['mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password'];

$dbConnection->setAttribute[PDO::ATTR_EMULATE_PREPARES, false];
$dbConnection->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
7. Bạn phải đảm bảo rằng bạn chuyển các khóa dưới dạng khóa trong tham số thứ hai chứ không phải dưới dạng giá trị. Khóa sẽ không lập chỉ mục lại

Mã số


    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

3

đầu ra


    Autosave



$[document.ready[function [e] {
     $["input#autosave"].click[function [e] {
         $["#form"].submit[];
     }];
}];

2

Nếu bạn muốn sử dụng

 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
0 hoặc
 $stmt = $dbConnection->prepare['SELECT * FROM employees WHERE name = ?'];
 $stmt->bind_param['s', $name]; // 's' specifies the variable type => 'string'

 $stmt->execute[];

 $result = $stmt->get_result[];
 while [$row = $result->fetch_assoc[]] {
     // Do something with $row
 }
1 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng
 $stmt = $pdo->prepare['SELECT * FROM employees WHERE name = :name'];

 $stmt->execute[[ 'name' => $name ]];

 foreach [$stmt as $row] {
     // Do something with $row
 }
05 để lấy tất cả các khóa cho một giá trị cụ thể rồi xóa tất cả phần tử

Làm cách nào tôi có thể nhận giá trị trường đầu vào trong PHP mà không cần gửi?

Sử dụng siêu toàn cục $_POST hoặc $_GET của PHP để truy xuất giá trị của thẻ đầu vào thông qua tên của thẻ HTML .

Làm cách nào để lấy giá trị của hộp kiểm trong PHP?

Để nhận giá trị của hộp kiểm đã chọn. php if [isset[$_POST['gender']]]{ echo $_POST['gender']; . }

Làm cách nào để đăng giá trị mà không cần gửi nút trong PHP?

Có thể gửi biểu mẫu mà không cần sử dụng nút gửi bằng cách triển khai một thuộc tính sự kiện cụ thể hoặc bằng cách nhấp vào liên kết . Tác vụ này có thể được thực hiện bằng cách sử dụng thuộc tính sự kiện OnClick hoặc bằng cách sử dụng biểu mẫu. phương thức submit[] trong Javascript.

Làm cách nào để nhận tất cả giá trị hộp kiểm đã chọn trong PHP?

Để lấy tất cả giá trị từ các hộp kiểm đã chọn, bạn cần thêm dấu ngoặc vuông [ [] ] sau tên của các hộp kiểm . Khi PHP nhìn thấy dấu ngoặc vuông [ [] ] trong tên trường, nó sẽ tạo một mảng giá trị kết hợp trong đó khóa là tên của hộp kiểm và các giá trị là giá trị được chọn.

Chủ Đề