دریافت چندین مقدار از یک checkbox در PHP

دریافت چندین مقدار از یک checkbox در PHP – با کمک checkbox ها می توانیم از چندین مورد ، مواردی را انتخاب کرده و ثبت کنیم در این آموزش تکنیکی استفاده می کنیم که به ما اجازه می دهد که تمامی مقدار های ثبت شده checkbox را دریافت کنیم .
توجه: نام checkbox های گروه باید یکی باشد تا بتوانیم مقدار آن گروه را دریافت کنیم برای این کار کافیست که به صورت []skills برای نام ورودی تعریف کنیم .
مثال:
کد: صفحه (index.html) حاوی یک فرم دارای نام ، ایمیل ، مخاطب و مهارت به عنوان فیلدها و متد POST است .
<!DOCTYPE html> <html> <head> <title> How to Get $_POST from multiple checkboxes? </title> </head> <body> <form action="process.php" method="post"> <div> <label>Name :</label> <input type="text" name="name"> </div> <div> <label>Email :</label> <input type="email" name="email"> </div> <div> <label>Skills :</label> <input type="checkbox" name="skills[]" value="Java"> Java <input type="checkbox" name="skills[]" value="Php"> PHP <input type="checkbox" name="skills[]" value="Python"> Python <input type="checkbox" name="skills[]" value="JavaScript"> JavaScript </div> <div> <label>Contact :</label> <input type="number" name="contact"> </div> <div> <button type="submit">Submit</button> </div> </form> </body> </html>
کد: صفحه (process.php) که پردازش داده های ارسال شده توسط کاربر صورت می گیرد .
<?php // Get the value of name field // from $_POST array $name = $_POST['name']; // Get the value of contact field // from $_POST array $contact = $_POST['contact']; // Get the value of email field // from $_POST array $email = $_POST['email']; // Check if at least one skill has been checked, if // checked, then assign the array returned by // $_POST['skills'] to $skills variable otherwise // assign an empty array $skills = (isset($_POST['skills'])) ? $_POST['skills'] : array(); ?> <h2>Confirmation</h2> <p><strong>Name :</strong> <?php echo $name; ?></p> <p><strong>Email :</strong> <?php echo $email; ?></p> <p><strong>Contact :</strong> <?php echo $contact; ?></p> <p><strong>Skills :</strong> <?php // Check if $skills array has at least one // element, if so, then iterate through // each element and echo its value, otherwise // echo that no skill is selected if (count($skills) > 0) { foreach ($skills as $skill) { echo $skill .' '; } } else { echo "No skill has been selected"; } ?> </p>
خروجی:
- قبل از ارسال فرم یعنی “index.html”
- پس از ارسال فرم یعنی “process.php”
دریافت چندین مقدار از یک checkbox
لیست نظرات
سلام ممنون از سایت بسیار خوب و آموزندتون . برای ارسال فرم مشکلی که دارم اینه که $_POST بعد از زدن دکمه ارسال میشه ولی مقدارش خالی نمیشه و با هر بار رفرش کردن صفحه آخرین $_POST مجدد فراخوانی میشه . چطور میتونم فرم ها رو بعد از ارسال خالی کنم. مثلا فرمی گذاشتم که یک سری اسم رو ذخیره میکنه هربار که رفرش کنی صفحه رو آخرین اسم مجدد ذخیره میشه.