سلام، وقت بخیر
یه صفحه ای دارم مانند تصویر زیر:
که روی دکمه افزدون کلیک میکنم، یه سطر جدید میتونم اضافه کنم، در ثبت این مدل فرم ها در 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"
}
}
با تشکر بابت وقتی که میزارید
سلام
این مشکل از کد های جاوا اسکریپت یا احتمالا جی کوئری که استفاده می کنید هست. فرم های جدید که پشت سر هم ساخته میشن به صورت اتومات مقادیر name داخل یک آرایه قرار می گیرند تا وقتی که در بک اند دریافت شدن بتونیم با اونها کار کنیم. شما باید براساس مستندات کتابخانه جی کوئری جلو برید.
@tamiratsg
سلام
@mohaligateway ممنون بابت راهنمایی، این مستندات کتابخونه هست به نظرتون چه طوری میتونم کلا اون بخش رو حذف کنم
متاسفانه با جی کوئری آشنایی زیادی ندارم
https://github.com/DubFriend/jquery.repeater
شما نباید مقدار 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;
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟