۷ علی اسدزاده
نمایش ندادن خروجی اطلاعات ارسال نشده
جامعه پی اچ پی ایجاد شده در ۰۷ اردیبهشت ۱۴۰۲

بعد از پر کردن فرم مودال و زدن دکمه ثبت داخل ویدیو زیر کادر مودال ارایه اطلاعاتی که میخواستیم داخل ویدیو ارسال میشه با پست به سمت سرور که به صورت ارایه چاپ شده ولی برای من داخل این بخش چاپ نمیشه دلیلش چیه اطاعات به درستی ارسال نمیشه؟؟؟

c279-seve.png

کد‌های پروژه پیوست میکنم:

سلام

در کدهای js متد serialize رو اشتباه نوشتید.

fa5c-Screenshot_۲۰۲۳-۰۴-۲۷-۲۲-۵۰-۲۶-۰۷۳_com.freddie.free.codeeditor-edit.jpg

باید به این شکل باشه:

form.serialize()
احمدرضا فاطمی کیا ۰۷ اردیبهشت ۱۴۰۲، ۱۹:۲۲

این رو درست کردم ولی دوباره نمایش نمیده خروجی رو لطفا اگه باز هم خطایی هست بگین ممنون

علی اسدزاده ۰۷ اردیبهشت ۱۴۰۲، ۲۰:۵۲

سلام،

یک نکته رو هم بگم، بررسی پروژه برای آقای فاطمی کیا کمی زمانبر هست، و غالبا ایراداتی که شما دارید غلط املاییه، بنابراین تکه کد مرتبط با موضوع رو بذارید تا منتور بتونه چشمی مشخص کنه تا زمان هم شما و هم آقای فاطمی کیا صرف غلط املایی نشه.


خب من چند مورد رو بهتون میگم تا ببینید چطور عیب یابی انجام میشه.

اولین کاری که من کردم برای اینکه یک مورد جاوااسکریپتی بود، inspect سربرگ console رو باز کردم دیدم غلط املایی داشتید و serialize رو تصحیح کردم.

fcea-Screenshot 2023-04-29 17.26.39.png

مورد بعدی وقتی در console هیچ خطایی ندیدم رفتم سربرگ network برای اینکه درخواست ajax رو بررسی کنم.

روی دکمه ی "ثبت" کلیک کردم و preview (که response برگشتی از سمت سرور هست) رو دیدم.

8349-2.png

در این قسمت متوجه شدم لاین 4 صفحه addLocation.php خطا دارید. صفحه addLocation.php رو باز کردم.

f92c-Screenshot 2023-04-29 17.28.03.png

متوجه شدم اینجا یک space اضافه گذاشتید ابتدای آدرس دهی.

و دوباره روی "ثبت" کلیک کردم و این نتیجه آخر:

59a8-3.png

این var_dump ای هست که انجام دادید. حالا پاکش کنید و عملیات insert رو بنویسید.

مورد آخر، ajax-result بیرون تگ form افتاده بخاطر اینکه در لاین 59 div رو اضافه بستید. حذفش کنید این لاین رو.

موفق باشید.

محسن موحد ۰۹ اردیبهشت ۱۴۰۲، ۱۴:۱۵

برای ثبت اطلاعات داخل پایگاه داده به این ارور خوردم


Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\\laragon\\www\\7learn.php\\7Map\\libs\\lib-locations.php:8 Stack trace: #0 C:\\laragon\\www\\7learn.php\\7Map\\libs\\lib-locations.php(8): PDOStatement->execute(Array) #1 C:\\laragon\\www\\7learn.php\\7Map\\process\\addLocation.php(13): insertLocation(Array) #2 {main} thrown in C:\\laragon\\www\\7learn.php\\7Map\\libs\\lib-locations.php on line 8



کد هایی که مثل استاد زدم



function insertLocation($data){
    global $pdo ;
    // validation here ...
    $sql = "INSERT INTO `locations` (`title`, `lat`, `lng`, `type`) VALUES ( :title, :lat, :lng, :lng, :typ );";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([':title'=>$data['title'], ':lat'=>$data['lat'], ':lng'=>$data['lng'], ':type'=>$data['type']]);
    return $stmt->rowCount();
}

مشکل از کجاست؟

علی اسدزاده ۱۰ اردیبهشت ۱۴۰۲، ۱۰:۱۳

داخل کوئری بعد از value رو ببینید، پنجتا مقدار مشخث کردین که تعدادش با 4 تا ستونی که مشخص کردین برابر نیست.

محسن موحد ۱۰ اردیبهشت ۱۴۰۲، ۱۳:۰۰

مشکل برطرف شد فقط پیام‌ها برای من توی نتورک کنسول نمایش داده میشن چطوری میتونم مثل استاد داخل پنل ثبت مکان ببینم این خطا‌ها و پیام‌ها رو


ممنون از پاسخگویی شما


علی اسدزاده ۱۰ اردیبهشت ۱۴۰۲، ۱۵:۰۰

پست اولی که گذاشتم، یک جمله بعنوان مورد آخر اضافه کردم اون رو ببینید.

با توجه به div بندی که داشتید، ajax-result بیرون از form افتاده. لاین 59 رو حذف کنید، 2 بار div بسته شده.

بهترین پاسخ
محسن موحد ۱۰ اردیبهشت ۱۴۰۲، ۱۷:۵۷