النتائج 1 إلى 3 من 3

الموضوع: هل من يساعدني في تعديل هذا الشرط

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jan 2005
    المشاركات
    89

    هل من يساعدني في تعديل هذا الشرط



    السلام عليكم اخواني

    لدي نموذج تسجيل اعضاء في قاعدة البيانات هو التالي
    كود PHP:
                    /* Check username */
                    
    if (
                        !isset(
    $_SESSION["REGISTER"]["username"]) 
                        || 
    $_SESSION["REGISTER"]["username"] == "" || 
                        !
    preg_match($CONF["REGEXP_USERNAME"], $_SESSION["REGISTER"]["username"])
                        || 
    strlen($_SESSION["REGISTER"]["username"]) < $CONF["USERS_USERNAME_MIN_LEN"]
                        || 
    strlen($_SESSION["REGISTER"]["username"]) > $CONF["USERS_USERNAME_MAX_LEN"]) {
                        
    $tpl -> Zone("error""username");
                        
    $tpl -> Zone("usernameerror""lenerror");
                    } 
    ما اريده تحديدا ان اجعل هذا الامر لا يخاطب REGEXP_USERNAME و التي هي تمنع الاعضاء من التسجيل باللغة العربية او ترك فراغات في اسمائهم
    لكن بنفس الوقت اريد سطور التاكد من طول الأسم ان تبقى تعمل فهل هذا ممكن.
    اي ان مشكلتي مع هذا السطر
    كود PHP:
                        !preg_match($CONF["REGEXP_USERNAME"], $_SESSION["REGISTER"]["username"]) 
    هل يمكن توقيف عمله

    قد يقول البعض انه يمكنني تعديل سطر REGEXP_USERNAME من ملف الكونفيج لقد حاولت كثير لكن دون فائدة
    و كلما حاولت التعديل بهذه السطور اعلاه ,كان هذا يؤدي الى توقف عمل صفحة التسجيل و ذلك لضعف المامي بال php

    اتمنى ان اجد من يستطيع تعديل هذه السطور لأحقق الهدف المرجو منها و شكرا







  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    جرب

    كود PHP:
                    /* Check username */
                    
    if (
                        !isset(
    $_SESSION["REGISTER"]["username"]) 
                        || 
    $_SESSION["REGISTER"]["username"] == "" || 
                        
    strlen($_SESSION["REGISTER"]["username"]) < $CONF["USERS_USERNAME_MIN_LEN"]
                        || 
    strlen($_SESSION["REGISTER"]["username"]) > $CONF["USERS_USERNAME_MAX_LEN"]) {
                        
    $tpl -> Zone("error""username");
                        
    $tpl -> Zone("usernameerror""lenerror");
                    } 






    __________________
    مدونتي

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jan 2005
    المشاركات
    89


    ممتاز لك جزيل الشكر لقد افادني حلك بما اريد
    لكن بقيت مشكلة بسيطة لا تؤثر على حلك و اتصور ان سببها البرمجية التي تتعامل مع ترميز utf8
    مثلا انا وضعت اقل عدد لاحرف اسم المستخدم هو 4
    الأمر يعمل بشكل سليم مع الأحرف الأنكليزية
    لكن عند العربي اذا كتب اسم المستخدم حرفين و ليكن (رن) فان السكريبت يقبلها و السبب ربما ان البرمجية تحفظه بقاعدة البيانات بالشكل التالي ط±ظ†
    اي تتحول الى 4 حروف و بالتالي يعتقد الكود ن المسجل استوفى الشروط

    اكرر انه الحل مفيد المهم ان يكتب المستخدم اللغة التي يريد و مع فراغات و بحروف اكثر من 1 على اقل تقدير

    شكرا مجددا و بالتوفيق










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض