• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جلوگیری از ورود مقادیر خالی به دیتابیس
#1
با عرض سلام و خسته نباشید .
فکر میکنم به یه مشکل خیلی مسخره برخوردم Huh

من با ی<textarea> ی سری اطلاعات رو میفرستم و نمیخوام که خالی باشند اما بعد سابمیت کردن مقادیر خالی ارسال میشن

با چند روش هم امتحان کردم نشد
کد:
if ($texbox==''){
}
یا با تابع empty
اما انگار همیشه مقادیر رو پر فرض میکنه ! Confused
من از ویرایشگر nicedit استفاده میکنم که تمام تکس باکس هارو تبدیل به ویرایشگر متن نسباتا زیبای خودش میکنه .

مشکل چیه چرا با وجود خالی بودن تکس باکس ها باز هم شرط برقرار نمیشه و به دیتابیس ارسال میشه ؟؟؟
  پاسخ
تشکر شده توسط :
#2
ببین داخل textarea فاصله یا خط جدید(newline) وجود نداشته باشه.
کد پی‌اچ‌پی:
if (empty($texbox)) 
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط : narenji
#3
موقعی که میخوای توی صفحه کدشو بگیری اینجوری بگیر.
کد پی‌اچ‌پی:
if(!empty($_POST['textbox'])){




بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط : narenji
#4
اون بخش از کدت رو قرار بده تا بهتر راهنمایی کنیم
میثم محمودی | انجمن کد ایگنایتر فارسی
--------------------------
هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
  پاسخ
تشکر شده توسط : narenji
#5
کد:
$title = $_POST['title'] ;
   $mininews = $_POST['mininews'] ;
   $newsbody = $_POST['newsbody'];
if (!empty($mininews) || empty($newsbody)) {
    
$add = mysql_query("INSERT INTO `news` VALUES ('', '".$title."', '".$mininews."', '".$newsbody."', '".mktime()."')");
if ($add){
    echo "<center><b style = 'color:red;'>خبر با موفقیت ارسال شد !</b></center>" ;}

کد:
<form action="" name="addmews" method="post">
<input type="text" name="title" id="a" size="45" height="30" value=" عنوان خبر" /><br /><br /><div id="erorf"></div>
<b>خلاصه خبر :</b> <br /><br /><textarea name="mininews" id="b" style="width: 85%;"> </textarea><br /><br /><br />
<b>متن خبر :</b> <br /><br /><textarea name="newsbody" id="c" style="width: 95%; height: 250px;"> </textarea>
<br /><input type="submit" name="newssubmit" value="ارسال خبر" />

فرم به خود این صفحه ارسال میشه . مشکلم فقط با تکس باکس هاست که خالی تشخیص داده نمیشند !
  پاسخ
تشکر شده توسط :
#6
اول شرطت رو تغییر بده:
کد پی‌اچ‌پی:
if (!empty($mininews) AND !empty($newsbody)) { 
بعد اگه مشکل حل نشد و مربوط به اون نبود فضاهای خالی رو حذف کن:
کد پی‌اچ‌پی:
$newsbody $_POST['newsbody']; 
به
کد پی‌اچ‌پی:
$newsbody trim($_POST['newsbody']); 
تغییر بده. اگه بازم کار نکرد طول کاراکترهاش رو اندازه بگیر و ببین چند تاست:
کد پی‌اچ‌پی:
$length mb_strlen($newsbody,'UTF-8'); 
میثم محمودی | انجمن کد ایگنایتر فارسی
--------------------------
هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
  پاسخ
تشکر شده توسط : webnevesht narenji
#7
خیلی ممنونم حل شد Heart Blush
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان