نام کی لمبائی

زیک نے 'پی‌ایچ‌پی‌بی‌بی کا اردو ترجمہ' کی ذیل میں اس موضوع کا آغاز کیا، ‏اکتوبر 3, 2005

  1. زیک

    زیک محفلین

    مراسلے:
    37,961
    جھنڈا:
    UnitedStates
    موڈ:
    Amused
    مجھے یہ بات پسند نہ آئی کہ اردو میں اسم رکن صرف دس حروف یا کم کا ہونا چاہیئے۔ لہذا میں نے اس مسئلے کا حل ڈھونڈنے کی ٹھانی۔ کچھ محنت کے بعد پتہ چلا کہ localization اور internationalization اتنی آسان نہیں۔ بہت سے مسائل ہیں پی ایچ پی کے فنکشنز اور پروگرامرز کی عادات میں۔ یہاں یہ مسئلہ تھا کہ includes/functions.php میں ایک فنکشن ہے phpbb_clean_username جو لاگ ان کے وقت اسم رکن کو صحیح کرنے کا کام کرتا ہے۔ اس فنکشن میں substr استعمال ہوا ہے جو unicode پر کام نہیں کرتا کیونکہ وہ bytes پر کام کرتا ہے نہ کہ characters پر۔ یہ غلطی عام ہے۔ سو وہ ہمارے اسم رکن کی پہلی 25 بائٹ output کر رہا تھا جو عموما 12 یا 13 حروف بنتے ہیں۔ میں نے substr کی بجائے mb_substr ڈال دیا ہے جو یونیکوڈ جیسے multibyte character codes سے واقف ہے۔

    اب آپ شوق سے 25 حروف تک کا نام رکھ سکتے ہیں۔

    نبیل: آپ رجسٹریشن کے صفحے سے وارننگ کو گول کر سکتے ہیں۔
     
    • پسندیدہ پسندیدہ × 4
  2. منہاجین

    منہاجین محفلین

    مراسلے:
    672
    بہت اچھے

    بہت اچھے۔
     
  3. نبیل

    نبیل محفلین

    مراسلے:
    16,631
    جھنڈا:
    Germany
    موڈ:
    Depressed
    میرے خیال میں یہ پہلی مرتبہ ہوا ہے کہ ہم میں سے کسی نے براہ راست php کو ہاتھ ڈالا ہے۔ بہت شکریہ زکریا۔ اس سے میری معلومات میں خاطر خواہ اضافہ ہوا ہے۔
     
    • پسندیدہ پسندیدہ × 1
  4. فرضی

    فرضی محفلین

    مراسلے:
    743
    نام کی لمبائی کا مسئلہ مجھے پشتو فورم پر بھی پیش آرہا ہے۔ اسے تبدیل کرنے کی اگر کچھ اور وضاحت کردی جائے تو مشکور رہوں گا۔
     
  5. نبیل

    نبیل محفلین

    مراسلے:
    16,631
    جھنڈا:
    Germany
    موڈ:
    Depressed
    فرضی، کیا تمہارے ویب ہوسٹ پر php کی mbstring ایکسٹینشن انسٹالڈ ہے؟ اگر ہاں تو کیا تمہاری فورم کے روٹ میں .htaccess فائل میں سٹرنگ اوور لوڈنگ آن ہے؟
     
  6. فرخ منظور

    فرخ منظور لائبریرین

    مراسلے:
    12,731
    جھنڈا:
    Pakistan
    موڈ:
    Cold
    بہت شکریہ زیک! آپ واقعی جادوگر ہیں-
     
  7. فرضی

    فرضی محفلین

    مراسلے:
    743
    جی نبیل بھائی php کی mbstring ایکسٹینشن تو شاید انسٹالڈ ہے لیکن .htaccess فائل میں سٹرنگ اوور لوڈنگ آن نہیں ہے اور جب اسے آن کیا جائے تو ‌Internal Server Error کا میسیج آتا ہے اور فورم کا پیج نہیں کھلتا
     
  8. فرضی

    فرضی محفلین

    مراسلے:
    743
    مجھے مبارک ہو;) نام کی لمبائی کا مسئلہ حل ہوگیا ہے۔۔

    میں نے زکریا بھائی کے بتائے ہوئے نسخے کو آزمایا لیکن کوئی افاقہ نہ ہوا۔۔یعنی substr کی بجائے mb_substr لگا دیا لیکن بات نہیں بنی۔۔ میں نے بائٹس کو 25 سے بدل کر 40 کردیا تو لمبے نام کا مسئلہ نہیں رہا۔:)
     
    • پسندیدہ پسندیدہ × 2
  9. نبیل

    نبیل محفلین

    مراسلے:
    16,631
    جھنڈا:
    Germany
    موڈ:
    Depressed
    بہت اچھے فرضی۔ مبارک ہو۔
     
  10. فرضی

    فرضی محفلین

    مراسلے:
    743
    سب آپکی شفقت کا نتیجہ ہے نبیل بھائی۔۔ بہت شکریہ

    اور زکریا بھائی کا بھی سپیشل تھینکس کہ انہوں نے اپنی پہلی پوسٹ میں functions.php تک رسائی فرمائی جہاں تبدیلی کرنی تھی۔
     
  11. دوست

    دوست محفلین

    مراسلے:
    13,038
    جھنڈا:
    Germany
    موڈ:
    Fine
    لو بھئی اللہ والیو میں نے یہی حل اردو کوڈر پر آزمایا ہے تو مسئلہ آگیا۔ فنکشن پی ایچ پی فائل کی اسی لائن پر ایرر میسج آنے لگا جب یہ فنکشن بدلا گیا تو۔ ایڈمن صاحب یعنی مسمی و فدری بقلم خود جب لاگ ان ہونے کی کوشش فرماتا تو یہ ایرر میسج آنے لگتا۔ چناچہ پھر اسے لوٹانا پڑا پرانے والے فنکشن پر۔ اصل میں ظہور احمد سولنگی صاحب کو رجسٹر کرنا تھا لیکن ان کا نام کٹ جاتا تھا۔ اب ان کے نام سے آخری حصہ جدا کرنا پڑا ہے۔۔۔کوئی حل؟
     
  12. نبیل

    نبیل محفلین

    مراسلے:
    16,631
    جھنڈا:
    Germany
    موڈ:
    Depressed
    mb_substr فنکشن استعمال کرنے کے لیے پی ایچ پی کی mbstring ایکسٹینشن انسٹال ہونا ضروری ہے۔ بہتر ہوگا کہ اردو پی ایچ پی بی بی کی requirements پر نظر ڈال لو۔

    فرضی نے غالبا phpmyadmin میں جا کر یوزر نیم فیلڈ کی لمبائی بڑھا دی ہے۔ یہ نسخہ آزما کر دیکھو۔
     
  13. دوست

    دوست محفلین

    مراسلے:
    13,038
    جھنڈا:
    Germany
    موڈ:
    Fine
    میں یہ ایکسٹنشن چیک کرتا ہوں۔ پی ایچ پی مائی ایڈمن سے کہاں جاکر بھلا؟ انھوں نے اسی لائن میں 25 کے ہندسے کو 40 سے بدل دیا تھا۔ فرضی کیا آپ تصدیق کرسکتے ہیں؟
     
  14. فرضی

    فرضی محفلین

    مراسلے:
    743
    شاکر بھائی میں نے زیک بھائی کے بتائے ہوئے طریقے پر ہی عمل کیا ہے بس mbstring کی جگہ byte ویلیو تبدیل کردی ہے ۔۔ آپ درج ذیل کا طریقہ آزما کر دیکھیں۔
    functions.php میں جاکر phpbb_clean_username فائنڈ کریں تو ذیل کی لائن پر پہنچ جائیں گے۔

    کوڈ:
    function phpbb_clean_username()
    {
    	 = substr(htmlspecialchars(str_replace("\'", "'", trim())), 0, 25);
    	 = phpbb_rtrim(, "\");
    	 = str_replace("'", "\'", );
    بس یہی پر 25 کو اپنے من پسند ہندسے سے بدل دیں۔۔ میں نے 40 سے بدلا ہے۔
     
  15. دوست

    دوست محفلین

    مراسلے:
    13,038
    جھنڈا:
    Germany
    موڈ:
    Fine
    میں‌اسے بھی دیکھتا ہوں
     
  16. اظفر

    اظفر محفلین

    مراسلے:
    782
    جھنڈا:
    Pakistan
    موڈ:
    Busy
    یعنی اب ہم اپنے نام کے ساتھ ہی ایڈریس بھی لکھیں بے شک
     

اس صفحے کی تشہیر