الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلةحيرتني وارجو ان اجد الحل

بدأه clinic في 9 ديسمبر 2011 · 8 رد · 1,377 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ب

سم الله الرحمن الرحيم

اخواني اعضاء المنتدى الكريم ..

اعتز بكتابة مشكلتي بهذا المنتدى الفاخر والاعضاء المميزين المتواجدين به ...

مشكلتي .

قمة بشراء سكربت اجنبي مؤخرا تطويرا لموقعي الذي اعمل علية حاليا ..

واجهتني مشكلة بالتسجيل .تسجيل اسم مستخدم جديد .

طبعا السكربت تم تعريبة ولا يوجد اي مشاكل بتعريبة للغة العربية . ولكن المشكلة تكمن في صفحة التسجيل .

وهي عند التسجيل باحرف عربية لا يقبلها .يقبل الاحرف الانجليزيه ولكن العربية تظهر بهذا الشكل (Ù�بÙ�Ù�بÙ�Ù�Ù�) وهذا نص رسالة الخطأ (Username may only contain alpanumeric characters

)

مشكلة جننتني وخلتني احتار . ارجو المساعدة من لدية الخبرة بذالك

وشكرا لكم

#2

كما تقول الرسالة، يسمح لك فقط بالحروف (غالبا الحروف اللاتينية من a-z) والأرقام. راسل صاحب السكريبت

#3

شكرا لردك اخي ( herch)

لم اتي للمنتدى الا بعد ارسال العديد من الرسائل لهم ولكن دون فائدة .

لم يرسلو لي ردا واحدا .

لهذا السبب لجأت لمنتداي لعل وعسى اجد الحل الوافي لهذه المشكلة

#4

ضع اسم السكربت واصداره

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#5

اسم السكربت (kubelance)

الاصدار : 1.8.0

#6

الا يوجد حل ؟

#7

السلام عليكم اخي clinic

غالبا بعد ماتعمل submit حق فورم التسجيل ، الكود راح يتأكد من البيانات المدخلة ، فأبسط طريقة للتأكد من سبب هذا الخطأ اللي يظهر لك هو انك تفتح ملف الـ php الخاص بالتسجيل وتبحث عن نص الخطأ ، بعد ما تحده تقدر تكتشف سب ظهوره. أذا لم تستطع فقط ابحث عن نص رسالة الخطأ وانسخ الكود هنا للتأكد ، ربما يكون الخطأ بسيط وقد نستطيع ان نساعدك.

شكرا :)

#8

السلام عليكم ورحمة الله وبركاته

أخى الكريم تلك المشكلة ظهرت لديك لأن الشركة صاحبه الإسكريبت لم تدعم الحروف العربية ضمن قائمة الحروف المسموح بها للتسجيل

وللتغلب على تلك المشكلة تستطيع التعديل على دالة "التنقيح" وجعها تدعم حروف اللغة العربية .

- ومثال على ذلك فى السطر 179 داخل ملف signup.php

if(ereg('[^A-Za-z0-9]',$_POST['username']))

وهذا الكود يعنى دعم الحروف الإنجليزية الكبيرة والصغيرة والأرقام فقط .

وللتعديل على هذا الكود يجب أن تعرف كيفية عمل دالة ()ereg

if(ereg('[@+&*%#!{}?\[<>\\\'/$.,_-^]',$_POST['username']))

لم أجرب ذلك الكود لأن نسخة لغة php التى لدى لاتدعم تلك الدالة.

ولكن لا أنصحك بإستخدام تلك الدالة لأنها دالة بها بعض المشاكل وسوف تستغنى عنها php فى إصداراتها القادمة أما الإصدارات الحالية فهى تنبه بالإستغناء عنها ولن تستطيع تشغيل السكريبت إلا بالتعديل على ملف php.ini لإلغاء التحذير

أما فى الإصدارات القادمة فلن تستطيع إستخدامها بتاتاً " أخر إصدار لدى من اللغة هو php 5.3.3 "

والبديل لها هى دالة ()preg_match وهى مدعومة بدئاً من الإصدار php 4.3.0 تستطيع إستبدال جميع الدوال فى الإسكريبت من النوع ()ereg بالدالة الجديدة ()preg_match

ومثال عليها لحل مشكلة دعم اللغة العربية فى المثال السابق قم بالأتى:

if(preg_match("/[(~!@#$%^&*()_+| =.':,\"\\\{})]/",$_GET['avail']))

وهذا الكود يعنى إدعم جميع الحروف والرموز من جميع اللغات ما عدا الرموز بين "/[( )]/" مع العلم إن أردت وضع علامات خاصة باللغة فيجب عليك أن تضعها بعد العلامة \\

تستطيع التعديل على الكود على حسب إحتياجاتك

- وملاحظة ستجد تلك الدالة فى عدة مواضع داخل ملفات السكريبت فيجب عليك تعديلها جميعاً على حسب ما تريد.

- أيضاً ستجد بعض الدوال الشبيهة بها سوف يتم إستبعادها من قبل php وهى من نفس عائل الدالة السابقة وهما كما يلى مع البدائل لهم :

ereg_replace() ===> preg_replace()

ereg() ===> preg_match()

eregi_replace() ===> preg_replace()

eregi() ===> preg_match()

split() ===> preg_split()

spliti() ===> preg_split

أرجو أن أكون قد أفدتك فى هذا الموضوع

تم تعديل هذه المشاركة بواسطة ahmedsaoud31 في 10 يناير 2012 في 16:04

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#9

يجيب استخدام نظام تشفير UTF-8 لاظهار الكتابة باللغة العربية يمكنك استخدام دالة mb_convert_encoding

او استخدام دالوال الــ iconv

1

Life is not the amount of breaths you take, it's the moments that take your breath away

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…