سید احمد
3 سال پیش توسط سید احمد مطرح شد
3 پاسخ

راهنمایی در مورد ثبت فرم

سلام، وقت بخیر
یه صفحه ای دارم مانند تصویر زیر:
عکس فرم
که روی دکمه افزدون کلیک میکنم، یه سطر جدید میتونم اضافه کنم، در ثبت این مدل فرم ها در PHP به مشکل برخوردم(از فریم ورک استفاده نمیکنم و PHP خام هست)


من الان از یه قالب مدیریت آماده استفاده میکنم و همین بخش رو با کمک کدهای همین قالب ساختم، ولی مشکلی که دارم اینه که من میام input رو به این صورت قرار میدم:

                                            <input type="email" name="email[]" class="form-control" id="Email" placeholder="ایمیل را وارد کنید">

ولی وقتی سورس رو نگاه میکنم، name رو به این تغییر داده(عکس زیر):
عکس
حالا سر همین موضوع، وقتی که سمت سرور میام که ثبت کنم در سرور با خطای زیر مواجه میشم:
خطا
کدهام هم به این شکل هست:

function addFactor($userID,$data) {

        if ($data > 0) {
            for ($i=0; $i < count($data); $i++) {
                    $email   = $data['email'][$i];
                    $password  = $data['password'][$i];
                    $sql = "INSERT INTO tbl_test (user_id,email,password) VALUES (?,?,?)";
                    $this->doQuery($sql,[$userID,$email,$password]);
                }
            }
    }

ممنون میشم راهنمایی کنید، الان فکر کنم کل مشکل من سر همون [group-a] هست که میاد به اسم input اضافه میشه
وقتی هم که vardump میگیرم از مشخصات ارسال شده سمت سرور، اینطوری بهم نشون میده:

array(2) {
  ["group-a"]=>
  array(2) {
    [0]=>
    array(2) {
      ["email"]=>
      string(15) "test1@gmail.com"
      ["password"]=>
      string(5) "test1"
    }
    [1]=>
    array(2) {
      ["email["]=>
      string(15) "test2@gmail.com"
      ["password["]=>
      string(5) "test2"
    }
}

با تشکر بابت وقتی که میزارید


ثبت پرسش جدید
moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 3 سال پیش مطرح شد
1

سلام
این مشکل از کد های جاوا اسکریپت یا احتمالا جی کوئری که استفاده می کنید هست. فرم های جدید که پشت سر هم ساخته میشن به صورت اتومات مقادیر name داخل یک آرایه قرار می گیرند تا وقتی که در بک اند دریافت شدن بتونیم با اونها کار کنیم. شما باید براساس مستندات کتابخانه جی کوئری جلو برید.
@tamiratsg


سید احمد
تخصص : برنامه نویس
@tamiratsg 3 سال پیش مطرح شد
0

سلام
@mohaligateway ممنون بابت راهنمایی، این مستندات کتابخونه هست به نظرتون چه طوری میتونم کلا اون بخش رو حذف کنم
متاسفانه با جی کوئری آشنایی زیادی ندارم
https://github.com/DubFriend/jquery.repeater


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 3 سال پیش مطرح شد
0

شما نباید مقدار group-a رو حذف کنید. اتفاقا این یه قابلیت برای مدیریت ساده تر خروجی ها هست. name ایمیل رو به صورت string قرار بدید.

<input type="email" name="email" class="form-control" id="Email" placeholder="ایمیل را وارد کنید">

یک کلاس ایجاد کنید و ورودی ها رو با استفاده از کد زیر دسته بندی کنید و وارد database کنید.

$tag = array();
        if(!is_null($repeater['tag'])) {
            foreach($repeater['tag'] as $value) {
                array_push($tag, $value['tags']);
            }
        } else {
            $tag = null;
        }

@tamiratsg


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام