سلام
خوب هستین
منظور از این ارور چیه؟
نقل قول:Notice: unserialize(): Error at offset 1055 of 1297 bytes in C:xampphtdocsrescontrollersuser_one.php on line 15
چطوری این مشکل رو حل کنم.
مرسی
احتمالا به خاطر اینکه که خروجی سریالیز شده به درستی ذخیره وبازیابی نشده.
بهتره به اینصورت عمل کنید.
//safely serialize & unserialize
$array=array("1","2","3");
$encoded_serialized= base64_encode(serialize($array));
$decoded_serialized = unserialize(base64_decode($encoded_serialized));
این کاری که شما انجام داده اید کارایی را پایین میاورد و هیچ تاثیری ندارد !
مگر تابع base64_encode چی بر میگردونه که تابع unserialize بر نمیگردونه ! هر دو رشته بر میگردونن
استارتر همانطور که دوستمان گفت کدتون مشکل داره اگر دارین از داخل دیتابیس واکشی میکنین به احتمال زیاد داده های شما escape شده هست و باید stripslashes بشوند
با نظر @bgsrb88 موافقم. تابع serialize به تنهایی نباید استفاده بشه و باید به همراه base64_encode استفاده بشه، جون گاهی اوقات توی بعضی کلمات درست کار نمیکنه. میتونید در این رابطه سرچ کنید.
(31-05-1394، 01:55 ب.ظ)php نوشته: [ -> ]با نظر @bgsrb88 موافقم. تابع serialize به تنهایی نباید استفاده بشه و باید به همراه base64_encode استفاده بشه، جون گاهی اوقات توی بعضی کلمات درست کار نمیکنه. میتونید در این رابطه سرچ کنید.
میشه یک نمونه مثال بزنید ؟
× بعد یک سوال فنی ؟
اگه خروجی تابع serialize درست نباشه به نظر خودتون منطقی است که داده serialize شده را به base64_encode بدیم و بعد دوباره از base64_decode بگیریم ؟
یعنی به نظر خودتون base64_decode تعمیر می کند اگر داده خراب شده باشه ؟
تاریخ پست گذاشته شده برای سال 2008 است که الان ما 2015 هستیم و حدود 7 سال پیش این مشکل وجود داشته که طبق گفته نویسنده این باگ را گزارش داده
موفق باشید.