راکت

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

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"
    }
}

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

سید احمد
سید احمد
@tamiratsg
ثبت پرسش جدید

پاسخ‌ها

3
moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

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

سید احمد
سید احمد
@tamiratsg

تخصص: برنامه نویس

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

شاید پاسخ شما همین‌جا باشد

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

شما نباید مقدار 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

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

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