استفاده از قالب های آماده نصب و یا به اصطلاح Quickstart طزاحی و بالاآوردن یک سایت کامل متناسب با طرح و استایل خودمان بسیار راحت است اما این راحتی گاهاً ما را دچار خطاها و مشکلاتی هم میکند که یکی از آنها عدم ایمپورت کاربران سایت قبلی و عدم انتقال جدول کاربران در زمان نصب است.
متن خطای فارسی:
1 |
JUser: :_بارگذاری :نمی توان کاربر را با این شناسه بارگذاری کرد: ۴۲ |
متن خطای انگلیسی:
1 |
Warning JUser: :_load: Unable to load user with ID: 42 |
راه حل رفع مشکل:
برای این مورد سه راه کار پیشنهاد میشود که یکی از آن ها راهکار اساسی و دو مورد دیگر مقطعی و غیر اوصولی هستند.
راه حل اول:
مطلبی که با باز کردن آن در سایت و یا در مدیریت جوملا با خطای فوق مواجه میشویم در بخش مدیریت جوملا > محتوا > مدیریت مطالب بطور کلی حذف نماییم.
راه حل دوم:
آیتمی که در بازکردن و یا نمایش آن با خطا فوق برخورد میکنیم را از بخش مدیریت جوملا > محتوا > مدیریت مطالب و نام مطلب مورد نظر را انتخاب و اقدام به ویرایش آن می کنیم. برای اینکه این خطا بطور کامل برای این مطلب (تاکید میکنیم با این ترفند این خطا صرفاً برای همین مطلب برطرف می شود و اگر آن کاربری که خطا به آن اشاره میکند در سایت شما دارای مطالب دیگری هم باشد آن ها همچنان با خطای مذکور همراه خواهند بود و میبایست برای آن ها هم همینکار بطور مشابه تکرار گردد) برطرف شود از بخش تنظیمات مدیریت مطالب محتوا یا افزونه مدیریت مطالب K2 نویسنده و ویرایش کننده مطلب یا از تغییر میدهیم.
و بالاخره راه حل اساسی سوم:
برای حل این مسئله به شکل اساسی میبایست اول بدانیم که این خطا چه چیزی میگوید و چه چیزی درخواست میکند. کلیات مفهوم این خطا این هست که هر فعالیت و عملیاتی در سایت های داینامیک بر اساس شناسه یا ID در بانک اطلاعاتی ذخیره و طبقه بندی می شوند. حال فرض کنید که قصد داریم یک مطلب را در بخش کاربری سایت جوملا مطالعه کنیم و یا بازدید داشته باشیم. زمانی که این مطلب در ساختار مرورگر فراخوانی میشود میبایست که همه ی اجزای اصلی آن اعم از تاریخ درج/نام مطلب/توضیجات/نام مستعار و… مشخص باشد اما اگر یکی از آن ها در زمان بارگزاری در مرورگر معرفی و در جایگاه خود مشخص نشوندبا خطا مواجه خواهیم شد. حال خطای فوق دقیقاَ به این علت نمایش داده میشود که مطلبی در سایت موجود بوده اکنون نویسنده ی آن در دیتابیس شما و در جدول کاربران هیچ نشانی از آن یافت نشده است. و اکنون این آیتم مطلب بدون کاربر نویسنده انتساب داده شده است. [quote]شماره عددی که در مثال بالا به شکل ID: 42 نمایش داده شده ، بیانگر این موضوع است که ما در حال بازدید از مطلبی هستیم که یک کاربر از سایت که آیدی کاربری آن برابر با ۴۲ بوده ؛ آنرا نوشته است و هم اکنون این نام کاربری با این شناسه در سایت و در بین کاربران موجود نیست.[/quote]
حال با دانستن چرایی این موضوع میبایست اقدامی برای رفع آن انجام دهیم. به این منظور میبایست در ابتدا از طریق مدیریت جوملا > کاربران > یک کاربر جدید ایجاد کنیم. بعد از ایجاد کاربر جدید و بررسی و فهمیدن شماره ID یا شناسه کاربر (این شناسه در لیست کاربران در بخش مدیریت کاربران در یک ستون مجزا و در لیست کاربران قابل ملاحضه می باشد) به فرض ما نام کاربری ای با نام Afzoneha ایجاد کردیم. این نام کاربری با شماره آیدی فرضی ۱۳۲ در دیتابیس ذخیره شد. و در لیست کاربران ما فعال است. حالا قصد داریم که از طریق دیتابیس و phpmyadmin شناسه نام کاربری جدیدی که ایجاد کرده ایم را با شناسه کاربری ای که به خاطر عدم وجود آن با خطا روبرو شده ایم، جایگزین و تغییر دهیم.
برای اینکار چند گام ساده در پیش خواهیم داشت.
[quote]لطفاً قبل از انجام هر کاری مخصوصاً در کار با دیتابیس حتماَ حتماً حتماً یک نسخه بکاپ از اطلاعات خود تهیه نمایید.[/quote]
گام اول: میبایست از طریق محیط کنترل پنل هاست وارد محیط phpmyadmin شویم.تصویر زیر مسیر دسترسی در Cpanel به این بخش را نشان می دهد.
گام دوم: در مرحله با ورود به محیط phpmyadmin میبایست دیتابیسی که جوملای ما به آن متصل است را بدانیم و در آن عملیات لازم خود را به انجام برسانیم. پیش نیاز این بخش دانستن این مسئله هست که نام دیتابیسی که جوملای ما در آن ذخیره شده چه می باشد. برای پی بردن به این موضوع میتوانید براحتی فایل configuration.php موجود ریشه سایت خود (public_html) را باز کنید. و در بخش مربوط به دیتابیس نام دیتابیس خود را پیدا کنید. تصویر زیر کاملا مشهود می باشد:
گام سوم: حال با دانستن نام دیتابیس مطابق تصویر زیر میتوانیم دیتابیسی که سایت جوملایی ما بروی آن نصب است را انتخاب کنیم تا جداول مربوط به آن برای ما نمایش داده شود. مطابق تصویر ؛ بروی تیبل XXX_users را کلیک میکنیم.
گام چهارم: بعد از کلیک بروی جدول xxx_users مطابق تصویر زیر با فهرستی از کاربران مواجه خواهیم شد که رکوردهای آن در این حدول ذخیره شده اند.در این نمونه در جوملای ما دو کاربر و یوزر وجود داشته است که یکی از آن را همینک با نام Afzoneha و ID یا شناسه ۱۳۲ ایجاد کرده ایم.
ملاحضه میفرمایید در شماره های ۱-۲-۳ اطلاعات کاربران خود را میبنید که با کلیک بروی هر کدام از آن ها این فهرست قابلیت مرتب سازی بر اساس آن ها را خواهد داشت.
گام پنجم: در این مرحله با انتخاب رکورد کاربری که خودمان بطور دستی آنرا ایجاد کرده ایم.عملیات را آغاز و برای شروع بروی دکمه و آیکون Edit مانند تصویر زیر کلیک میکنیم.(سطر اول نام کاربری Afzoneha و ID=132 مد نظر ما قرار دارد.)
گام ششم: در مرحله همانطور که در تصویر زیر مشخص است فیلد های مختلفی برای هر کاربر وجود دارد که میتوانیم هر کدام را متناسب با خواسته و نیاز خود اصلاح کنیم. اما اینجا قصد ما برطرف ساختن خطای J User مطرح شده در ابتدای این مقاله است . خب با مشاهده صفحه ویرایش اطلاعات کاربری مطابق تصویر زیر فقط کافیست که فیلد اول که در اصل همان فیلد مربوط به ID کاربر جوملا را به آیدی مورد اشاره در خطا تغییر دهیم. همانطور که میدانید خطای ما به شکل مقابل Warning JUser: :_load: Unable to load user with ID: 42 بود. پس همانطور که کاملا هم واضح است میبایست شناسه کاربری خود را به عدد ۴۲ تغییر دهیم. تا یوزری که ما ساخته ایم عملا جایگزین کاربری ای باشد که از قبل از در بسته نصبی وجود داشته است.
امیدواریم که این آموزش برای شما مفید بوده باشد. سوالات خود را بعنوان کامنت در همین پست ارسال نمایید.