نمایش نتایج 1 تا 2 از 2

نام تاپیک: چک باکس های انتخاب شده در PHP

  1. #1

    چک باکس های انتخاب شده در PHP


    <!DOCTYPE html>
    <html>
    <body>

    <form action="demo_form.php" method="get">
    <input type="checkbox" name="vehicle" value="Bike"> I have a bike<br>
    <input type="checkbox" name="vehicle" value="Car" checked> I have a car<br>
    <input type="submit" value="Submit">
    </form>

    </body>
    </html>



    برای فرم HTML بالا میشه کد php نوشت که اگر هر دو چک باکس تیک خوردن با پیامی نشون بده که هر دو چک باکس انتخاب شدن ؟
    می دونم اگر خاصیت name هر دو چک باکس فرق می کرد ، یا با روش های دیگه به راحتی میشه اون چک باکس های انتخاب شده رو
    تشخیص داد اما اون چیزی که من دوست دارم یاد بگیرم اینکه اگه قرار باشه این کد به هیچ وجه دستکاری نشه ، با چه کدی این کارو انجام
    می دیم ؟ مثل خروجی این لینک

  2. #2
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: چک باکس های انتخاب شده در PHP

    این لینکی که دادی مربوط به ASP هست اما PHP روشش اینه که شما بیای توی Name Attribute به جای vehicle بنویسی []vehicle و انتخاب ها را به صورت آرایه سمت php بگیری و نشون بدی :

    <form action="demo_form.php" method="get">
    <input type="checkbox" name="vehicle" value="Bike"> I have a bike
    <input type="checkbox" name="vehicle" value="Car" checked> I have a car
    <input type="submit" value="Submit">
    </form>

    <?php
    if (isset($_GET['vehicle']) && is_array($_GET['vehicle'])){
    echo "Selected vehicles: ".implode(", ",$_GET['vehicle']);
    }
    ?>


    اما اگه نمیخوای این کار را انجام بدی ، باید تابع parse را خودت بنویسی :
       function alt_parse_str($str) {
    # result array
    $arr = array();

    # split on outer delimiter
    $pairs = explode('&', $str);

    # loop through each pair
    foreach ($pairs as $i) {
    # split into name and value
    list($name,$value) = explode('=', $i, 2);

    # if name already exists
    if( isset($arr[$name]) ) {
    # stick multiple values into an array
    if( is_array($arr[$name]) ) {
    $arr[$name][] = $value;
    }
    else {
    $arr[$name] = array($arr[$name], $value);
    }
    }
    # otherwise, simply stick it in a scalar
    else {
    $arr[$name] = $value;
    }
    }

    # return result array
    return $arr;
    }


    $query_string = $_SERVER['QUERY_STRING'];
    if ($query_string != ""){
    $GET = alt_parse_str($query_string);
    echo "Selected vehicles: ".(is_array($GET['vehicle']) ? implode(", ",$GET['vehicle']) : $GET['vehicle']);
    }


    این کار ها لازم نیست و بهتره به روش خود php عمل کنی یا اگه ajax ی کد میزنی با jquery یا javascript کل انتخاب ها را بفرستی سمت سرور.

    موفق باشی

تاپیک های مشابه

  1. سوال: ارسال اطلاعات چک باکس های انتخاب شده
    نوشته شده توسط space_ در بخش PHP
    پاسخ: 0
    آخرین پست: یک شنبه 16 اسفند 1394, 08:58 صبح
  2. سوال: ارسال چک باکس های انتخاب شده به کمک اجاکس
    نوشته شده توسط ashid098 در بخش jQuery
    پاسخ: 1
    آخرین پست: دوشنبه 29 تیر 1394, 23:31 عصر
  3. استفاده از مقادیر چک باکس های ساخته شده در run time در code behind
    نوشته شده توسط habib_namvar در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 19 آذر 1392, 22:32 عصر
  4. پاسخ: 3
    آخرین پست: دوشنبه 07 دی 1388, 10:05 صبح
  5. ذخیره چک باکس های انتخاب شده در بانک
    نوشته شده توسط smrb59 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: یک شنبه 29 اردیبهشت 1387, 10:25 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •