زمان کنونی: ۹-۲-۱۴۰۳, ۰۶:۲۹ صبح درود مهمان گرامی! (ورودثبت نام)


ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
محدوديت ارسال فرم براي هر كاربر در rs form
۱۹-۱۲-۱۳۹۰, ۰۶:۰۵ صبح
ارسال: #1
محدوديت ارسال فرم براي هر كاربر در rs form
همانطور که استحضار دارید rsform pro امکانی را به طراح می دهد که بتواند اسکریپتهای مختلف را در آن وارد کند من به دنبال اسکریپتی هستم که وقتی کاربر لاگین کرد نام کاربری او چک شود و بطور مثال هر کاربر فقط دو بار مجاز به ارسال فرم باشد و در دفعه سوم پیامی به او نمایش داده شود
در سایت سازنده به این کد برخوردم:
$rsuser =&JFactory::getUser();$myid = intval($rsuser->get('id'));if ($myid > 0 && mysql_num_rows(mysql_query("SELECT `SubmissionId` FROM `jos_RSFORM_SUBMISSIONS` WHERE `UserId`='".$myid."' AND `FormId`='1' LIMIT 1")) > 0)$formLayout = 'You have already completed this form.';
اما با ارور شبیه ارور زیر مواجه می شوم:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxxxxx/public_html/administrator/components/com_rsform/helpers/rsform.php(1043) : eval()'d code on line 3
آیا راهکاری دارید
چك كردن از طريق ip يا ايميل مد نظر نمي باشد
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
۱۹-۱۲-۱۳۹۰, ۰۷:۳۰ صبح (آخرین ویرایش در این ارسال: ۱۹-۱۲-۱۳۹۰ ۰۷:۳۳ صبح، توسط محمدسلیمانی.)
ارسال: #2
RE: محدوديت ارسال فرم براي هر كاربر در rs form
براي اينكار به يك اسكريپت در "ناحيه ي اسكريپت هاي فراخواني شده روي فرم نمايش "نياز است :
global $database;
$database = JFactory::getDBO();
$database->setQuery("SELECT COUNT(`SubmissionId`) FROM jos_rsform_submissions WHERE `formId`='2'");
$database->query();
if (intval($database->loadResult()) >= 50)
{
echo 'Sorry, no more submissions are accepted !';
$formLayout = '';
}
مثال بالا تعداد ارسالات را براي فرمي با id = 2 محدود مي كند .در صورتي كه تعداد ارسالات به تعداد محدوديت ( در اين مثال 50) برسد فرم واقعي با يك پيغام هشدار عوض مي شود .
(البته پیغامی خطایی که برای شما نمایش داده شده به این معنا است که sql شما قادر به برگرداندن نتیجه درخواست نیست.)
امضاء محمدسلیمانی
چالش هاتو محدود نکن، محدودیت هاتو به چالش بکش

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
 سپاس شده توسط ehsansabet ، محمدرضا بهارلو ، Reza Ganji
۱۹-۱۲-۱۳۹۰, ۱۱:۱۰ عصر
ارسال: #3
RE: محدوديت ارسال فرم براي هر كاربر در rs form
(۱۹-۱۲-۱۳۹۰ ۰۷:۳۰ صبح)mohammas نوشته شده توسط: دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
براي اينكار به يك اسكريپت در "ناحيه ي اسكريپت هاي فراخواني شده روي فرم نمايش "نياز است :
global $database;
$database = JFactory::getDBO();
$database->setQuery("SELECT COUNT(`SubmissionId`) FROM jos_rsform_submissions WHERE `formId`='2'");
$database->query();
if (intval($database->loadResult()) >= 50)
{
echo 'Sorry, no more submissions are accepted !';
$formLayout = '';
}
مثال بالا تعداد ارسالات را براي فرمي با id = 2 محدود مي كند .در صورتي كه تعداد ارسالات به تعداد محدوديت ( در اين مثال 50) برسد فرم واقعي با يك پيغام هشدار عوض مي شود .
(البته پیغامی خطایی که برای شما نمایش داده شده به این معنا است که sql شما قادر به برگرداندن نتیجه درخواست نیست.)

دوست عزیز اسکریپت شما همه ارسال های مربوط به یک فرم را شامل می شود منظور من ارسالهای هر کاربر می باشد
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
۱۵-۳-۱۳۹۴, ۰۸:۳۰ عصر
ارسال: #4
RE: محدوديت ارسال فرم براي هر كاربر در rs form
کار نمیکنه عزیز یه راهکار دیگه بده
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
۱۶-۳-۱۳۹۴, ۰۸:۵۳ عصر (آخرین ویرایش در این ارسال: ۱۶-۳-۱۳۹۴ ۰۸:۵۷ عصر، توسط پیام عمرانی.)
ارسال: #5
RE: محدوديت ارسال فرم براي هر كاربر در rs form
از این کد استفاده کنید
این کد تعداد ارسالهای هر کاربر رو محدود میکنه به یک ارسال ، حالا اگه بیشتر میخواهید اون قسمت LIMIT رو بکنید 2

$rsuser =&JFactory::getUser();
$myid intval($rsuser->get('id'));
if (
$myid && mysql_num_rows(mysql_query("SELECT `SubmissionId` FROM `jos_RSFORM_SUBMISSIONS` WHERE `UserId`='".$myid."' AND `FormId`='1' LIMIT 1")) > 0)
$formLayout 'شما هم اکنون این فرم را پر کرده اید.'
البته فراموش نکنید که قسمت "FROM `jos_RSFORM_SUBMISSIONS`" اون کلمه jos_ که پیشوند دیتا بیس هست رو تغییر بدید !!
امضاء پیام عمرانی
طراحی و برنامه نویسی انواع سایت و وب اپلیکیشن
ساعات تماس : 9 الی 17
021-44432343
021-44447089
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
 سپاس شده توسط Pourdaryaei ، Reza Ganji
ارسال پاسخ 


پرش به انجمن:


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