البرمجة

تفعيل وإلغاء تفعيل الاختيارات بزر واحد في HTML وPHP

لتحقيق الهدف الذي طرحته، يجب أن تضيف السيناريو المناسب باستخدام لغة PHP لمعالجة الطلبات وتحديد ما إذا كانت خاصية “All” محددة أم لا. فيما يلي كود HTML وPHP الذي يمكنك إضافته لتحقيق هذا الهدف:

html
html> <html> <head> <title>Check/Uncheck Alltitle> head> <body> <form action="process.php" method="post"> <p> Select pet: p> <p> <input type="checkbox" name="dog" value="dog"> Dog p> <p> <input type="checkbox" name="cat" value="cat"> Cat p> <p> <input type="checkbox" name="bird" value="Tbird"> Bird p> <p> <input type="checkbox" name="checkall" value="checkall" onclick="checkUncheckAll()"> All p> <input type="submit" value="Submit"> form> <script> function checkUncheckAll() { var checkboxes = document.querySelectorAll('input[type="checkbox"]'); var checkAllCheckbox = document.querySelector('input[name="checkall"]'); checkboxes.forEach(function(checkbox) { checkbox.checked = checkAllCheckbox.checked; }); } script> body> html>

ثم، يجب إنشاء ملف PHP (مثلاً process.php) لمعالجة البيانات المُرسَلة من النموذج. في هذا الملف، يمكنك استخدام الشيفرة التالية لفحص ما إذا كانت خاصية “All” محددة أم لا، ومن ثم تحديد الخطوات اللازمة وفقًا لذلك:

php
if ($_SERVER["REQUEST_METHOD"] == "POST") { // قم بفحص ما إذا كانت خاصية "All" محددة أم لا if (isset($_POST["checkall"])) { // قم بتحديد الخطوات التي تريد تنفيذها عندما يتم تحديد "All" // على سبيل المثال، يمكنك إضافة رمز هنا لتنفيذ إجراءات محددة // يمكنك تحقيق التعامل مع القيم الأخرى المُرسَلة أيضًا } // قم بتنفيذ باقي الخطوات الخاصة بك } ?>

يرجى تغيير الشيفرة الخاصة بمعالجة الطلبات PHP وفقًا لاحتياجات المشروع الخاص بك، وقم بتخصيص الإجراءات التي تريد تنفيذها عند اختيار “All” من قبل المستخدم.

المزيد من المعلومات

بالطبع، دعنا نوسع قليلاً على الكود ونقدم بعض المزيد من المعلومات حول كيفية تحقيق التفاعل بين الواجهة والمعالجة في الخلفية باستخدام لغات الويب HTML وPHP.

أولًا، يمكنك تحسين تجربة المستخدم عندما يتم تحديد أو إلغاء تحديد خاصية “All” بتوفير تغذية راجعة فورية. يمكننا تحقيق ذلك باستخدام JavaScript لتحديث حالة خاصية “All” بناءً على حالة الخانات الفردية. قمت بتعديل الكود لتضمين هذا:

html
html> <html> <head> <title>Check/Uncheck Alltitle> head> <body> <form action="process.php" method="post"> <p> Select pet: p> <p> <input type="checkbox" name="dog" value="dog" onclick="updateCheckAll()"> Dog p> <p> <input type="checkbox" name="cat" value="cat" onclick="updateCheckAll()"> Cat p> <p> <input type="checkbox" name="bird" value="Tbird" onclick="updateCheckAll()"> Bird p> <p> <input type="checkbox" name="checkall" value="checkall" onclick="checkUncheckAll()"> All p> <input type="submit" value="Submit"> form> <script> function checkUncheckAll() { var checkboxes = document.querySelectorAll('input[type="checkbox"]'); var checkAllCheckbox = document.querySelector('input[name="checkall"]'); checkboxes.forEach(function(checkbox) { checkbox.checked = checkAllCheckbox.checked; }); } function updateCheckAll() { var checkboxes = document.querySelectorAll('input[type="checkbox"]'); var checkAllCheckbox = document.querySelector('input[name="checkall"]'); var allChecked = true; checkboxes.forEach(function(checkbox) { if (!checkbox.checked) { allChecked = false; } }); checkAllCheckbox.checked = allChecked; } script> body> html>

ثانيًا، في ملف PHP الخاص بمعالجة البيانات (process.php)، يمكنك تحسينه ليتعامل بشكل أفضل مع البيانات المُرسَلة. على سبيل المثال، يمكنك استخدام هيكل تحكم if-else لتحديد الإجراءات المناسبة بناءً على قيم الخصائص المُرسَلة:

php
if ($_SERVER["REQUEST_METHOD"] == "POST") { // فحص ما إذا كانت خاصية "All" محددة أم لا if (isset($_POST["checkall"])) { // تم تحديد "All"، قم بتنفيذ الإجراءات الخاصة بك هنا echo "All selected!"; } else { // لم يتم تحديد "All"، قم بمعالجة القيم الفردية هنا foreach ($_POST as $key => $value) { // يمكنك إضافة الإجراءات المناسبة هنا لكل قيمة فردية echo "$key: $value
"
; } } } ?>

هذه تحسينات بسيطة يمكنك تكاملها في مشروعك لتعزيز الأداء وتفاعل المستخدم مع واجهة الاختيار.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!