PDA

View Full Version : سوال: تغییر مقدار پیش فرض یک رشته



Farshid007
چهارشنبه 06 اردیبهشت 1391, 12:03 عصر
سلام یه رشته بنام admin_pass تو فایل configuration.php ذخیره شده و مقدارش هم 123 هست حال وقتی که مدیر سایت لوگین کرد یه قسمت هست برای تغییر کلمه عبور وقتی که مدیر لوگین کرد و رفت تو قسمت تغییر کلمه عبور و فرم submit شد چطور می تونم مقدار اون admin_pass رو که تو یه فایل دیگه ذخیره شده رو عوض کنم؟

Farshid007
چهارشنبه 06 اردیبهشت 1391, 12:22 عصر
بابا جون من یکی از این مدیر پدیرا جواب بده دیگه!

eshpilen
چهارشنبه 06 اردیبهشت 1391, 12:24 عصر
بنظر بنده بهتره اینطور کارها رو با دیتابیس انجام داد. یعنی پسورد ادمین توی دیتابیس باشه.
چون اگر بخوای توی فایل بنویسی روی خیلی هاستها باید تنظیمات دستی انجام بشن جهت دادن پرمیشن و اینها.
بنده بطور کلی در پروژهء خودم سعی کردم همه چیز رو ببرم داخل دیتابیس. چون در مجموع باعث کمترین دردسر و پیچیدگی میشه. وگرنه باید برای هر کانفیگ و شرایطی کد چک کردن و هندل کردن خطا و روشهای جایگزین درنظر بگیری که طبیعتا علاوه بر افزایش کار برنامه نویس، احتمال باگ رو هم بالا میبره. هرچی کد بیشتر و پیچیده تر، احتمال باگ هم بیشتر. تازه باید کلی تست هم بکنی و هر چیزی رو تغییر میدی دوباره همهء تستها رو انجام بدی.
یا اینکه همه چیز رو راحت بندازی گردن کاربر و بگی اول برو پرمیشن رو درست کن!! که اینم از نظر یوزرفرندلی و همچنین احتمالا مسائل دیگری جالب نیست.

یک استادی گفته بود اگر طراحی دیتابیس و جدولها رو بر اساس اصول مهندسی نرم افزار انجام نمیدید اصلا چرا از دیتابیس استفاده میکنید، برید بجاش از فایل استفاده کنید!
ولی بنظر بنده حتی بدون طراحی اصولی دیتابیس و جدول ها هم باز دیتابیس مزیت های متعدد و بزرگی داره نسبت به فایل که باعث میشه این حرف عاری از محتوای صحیح واقعی باشه و بیشتر کنایه و ناسزاگویی باشه تا چیز دیگه. ضمنا انجام همه کار با فایل خودش نیاز به یک برنامه نویس واقعا حرفه ای داره، وگرنه یا نمیشه یا هزار جور باگ درمیاد. دیتابیس داره کلی کار مشکل رو برای شما با اطمینان و کیفیت و سرعت خوبی انجام میده. فقط در کاربردهای واقعا ساده هست که فایل میتونه قابل استفاده یا ترجیح باشه.

MMSHFE
چهارشنبه 06 اردیبهشت 1391, 12:30 عصر
سلام یه رشته بنام admin_pass تو فایل configuration.php ذخیره شده و مقدارش هم 123 هست حال وقتی که مدیر سایت لوگین کرد یه قسمت هست برای تغییر کلمه عبور وقتی که مدیر لوگین کرد و رفت تو قسمت تغییر کلمه عبور و فرم submit شد چطور می تونم مقدار اون admin_pass رو که تو یه فایل دیگه ذخیره شده رو عوض کنم؟
حالا گه اصرار به این روش دارین، میتونید مثل این مثال عمل کنید:


$newpass = '123456';
$config = file_get_contents('configuration.php');
$config = str_replace('admin_pass = \'123\'', "admin_pass = '{$newpass}'", $config);
file_put_contents('configuration.php', $config);

البته این یک مثال بود و باید برحسب نیازتون تغییرش بدین اما ایده کلی همینه: خوندن، جایگزین کردن عبارت و نوشتن.
موفق باشید.