PDA

View Full Version : یه مشکل اعصاب خورد کن، لطفا کمکم کنید!



ali abedian
جمعه 13 تیر 1393, 16:11 عصر
سلام دوستان
سایتمو آماده کردم برای آپلود، روی لوکال همه چی خوب کار میکرد ولی وقتی آپلود کردم یه مشکلی داشت!

برای سایتم یه سی ام اس ساده نوشتم که بخشی داره برای اضافه کردن مطالب..
در این بخش چند تا چک باکس گذاشتم برای اینکه مشخص کنم مثلاً دکمه ی دانلودی نمایش داده بشه یا نه!
نسخه ی php سرور هاست سایتم ، ۵.۳.۲۷ هست
نسخه ی php لوکال سرور هم، ۵.۳.۲۸ و بالاتر میتونم قرار بدم
مشکل اینجاست که روی سرور اصلی، این چک باکسها وقتی تیکش زده میشه، مقدار ۱ رو درون دیتابیس ذخیره میکنه و اینو چک کردم و مطمئن شدم، ولی وقتی میخوام از دیتابیس این مقدار رو فراخوانی کنم ، انگار مقدار ۰ رو بر میگردونه و در نتیجه (در صفحه ی ویرایش مطلب) تیک چک باکسها خورده نیست و اگر با همین شرایط روی دکمه ی آپدیت (ویرایش) کلیک کنم، مقدار صفر برای دیتابیس ارسال و ذخیره میشه..
من فکر میکنم که مشکلی با if پیدا کرده باشم
چون جای دیگه ای از کدهای سایتم، دستورات شرطی ای رو قرار دادم، متاسفانه جواب درست نمیگیرم (البته روی سرور اصلی) ولی روی لوکال همه چی خوب کار میکنه..

نمونه ای از دستورات شرطی رو میذارم براتون:

۱>>>>>
در این مورد اومدم شرط گذاشتم که مقداری که از بانک دریافت میشه اگر برابر با ۱ بود اونوقت تیک چک باکس زده بشه و چک باکس در حالت checked نمایش داده بشه و در غیر اینصورت هم تیکش زده نشه..

<input <?php if (!(strcmp($row_query['demo'],1))) {echo "checked=\"checked\"";} ?> type="checkbox" name="demo" id="demo" />
این تکه کدی هست که ازش استفاده میکنم.. من دستور شرطی رو برداشتم و فقط گزینه ی echo رو تست کردم و دیدم تیک چک باکس نمایش داده میشه .. ولی ظاهرا مشکل در این عبارت شرطی هست..

۲>>>>>
در این مورد هم شرط گذاشتم که مقداری که از بانک میاد اگر برابر ۱ باشه اونوقت یه سری از کدهای استایل اعمال بشه به قالب سایت و در غیر اینصورت این اتفاق نیافته..




<style type="text/css"><?php if ($row_query['show']==1) {echo '#download_message {display: 1;}#download_box_table {display: none;}';} else {echo ' #download_message {display: none;}#download_box_table {display: 1;'; }
?></style>

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

metal gear solid 4
جمعه 13 تیر 1393, 16:32 عصر
دقیق نخوندم سوال شمارو. اما شما برای شرطتون از strcmp استفاده کردید. دقت داشته باشید که هر دو پارامتر این تابع باید حتماً از نوع String باشند. شما عدد رو با String مقایسه کردید و نتایج عجیب غریب میگیرید. از == استفاده کنید.
اگر هم میخواید نوعش رو هم بررسی کنید از ===

ali abedian
جمعه 13 تیر 1393, 16:59 عصر
بله مشکل همین بود اتفاقا داشتم توی w3school این مورد رو میدیدم به هر حال از راهنمایی شما ممنونم
من برای این فیلد از نوع BIT استفاده کرده بودم که وقتی به INT تغییرش دادم درست شد
ولی روی لوکال چرا درست کار میکرد؟