وارد شدن مقادیر خالی در دیتابیس

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

D.A.V.O.O.D

Member
سلام .خسته نباشید یه مشکل برامون پیش اومده. یه فرم داریم که حاوی سه تا تکست باکسه. این فرم ها توسط جاوااسکریپت بررسی میشن که حتما هر سه فیلد پر باشه. هنگام ثبت در دیتابیس هم addslash میشه و از لحاظ کاراکترهای html هم بررسی میشه و به نوعی اصلا امکان نداره که فیلد خالی وارد دیتابیس بشه . اما امروز متوجه شدیم یه نفر مقادیر خالی وارد دیتابیس کرده. کسی می دونه چطور اینکار رو انجام داده؟ ممنون

سلام
مشکل تماما بر میگرده به این قسمت که :
این فرم ها توسط جاوااسکریپت بررسی میشن که حتما هر سه فیلد پر باشه
چک شدن با جاوا اسکریپت به تنهایی روش خوبی نیست ! شما باید داخل فایل های php از خالی نبودن مقادیر نیز مطمئن شوید . چرا که کاربر می تواند با غیرفعال کردن جاوا اسکریپت فرم شمارا بدون چک کردن مقادیر ارسال کنه .

موفق باشی
 
سمت کاربر با جاوااسکریپت چک میشه اما داخل کدهای html هم بررسی می کنیم که خالی نباشه و هم addslash میشه و هم از لحاظ کاراکترهای html چک میشه . یعنی به طور کلی امکان نداره مقدار خالی وارد دیتابیس بشه.
 

D.A.V.O.O.D

Member
سمت کاربر با جاوااسکریپت چک میشه اما داخل کدهای html هم بررسی می کنیم که خالی نباشه و هم addslash میشه و هم از لحاظ کاراکترهای html چک میشه . یعنی به طور کلی امکان نداره مقدار خالی وارد دیتابیس بشه.

دوست عزیز ، AddSlashes یا HTMLSPECIALCHARS فقط برای شیطونی نکردن کاربر هستند و ربطی به چک کردن خالی یا غیر خالی بودن مقادیر نداره . شما باید از چنین کد هایی استفاده کنی :
PHP:
if( empty( $Name ) )
{
     echo "لطفا نام خود را وارد کنید";
} else
{
      //Insert To DataBase
}
 
بهترين راه براي بررسي كردن فرم ها استفاده از اين تابع هست:
PHP:
preg_match()
ممكنه كه بعضي از مرورگر ها از جاوا اسكريپت پشتيباني نكنند كه بعدش.....
 

جدیدترین ارسال ها

بالا