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

دریافت چندین مقدار از یک 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

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

لیست نظرات

  1. abniki
    abniki

    سلام ممنون از سایت بسیار خوب و آموزندتون . برای ارسال فرم مشکلی که دارم اینه که $_POST بعد از زدن دکمه ارسال میشه ولی مقدارش خالی نمیشه و با هر بار رفرش کردن صفحه آخرین $_POST مجدد فراخوانی میشه . چطور میتونم فرم ها رو بعد از ارسال خالی کنم. مثلا فرمی گذاشتم که یک سری اسم رو ذخیره میکنه هربار که رفرش کنی صفحه رو آخرین اسم مجدد ذخیره میشه.

    22 اسفند 1401 | 19:54:59
  • حسین باقری
    حسین باقری

    header("Location: index.php");
    به جای index.php نام اسکریپتی که میخواین ریدایرکت بشه رو وارد کنید .
    28 اسفند 1401 | 15:26:17
contact us