صفحة 2 من 4 الأولىالأولى 1234 الأخيرةالأخيرة
النتائج 16 إلى 30 من 59

الموضوع: [استفسارات] شاركوني مشروعي الأول

  1. #16
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    س1 :
    لازلت ابحث عن سبب عدم قدرتي على حفظ البيانات في الجداول
    في ردي السابق !!

    س2 : في حالة تم التسجيل بنجاح : وضعت رابط للعودة إلى الصفحة الرئيسية
    لكن كيف يكون الانتقال تلقائي بدون وضع رابط ؟

    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    عدت بما فهمت عن طريقة عمل الدوال الثلاث : trim , preg_match,mysql_real_escape_syring

    أولا :
    كود PHP:
     string trim($text,$char); 
    باختصار : ارسل له نص وحرف أو مجموعة أحرف
    فتقوم بإعادة هذا النص بعد حذف مجموعة الأحرف منه ابتداء من بدايته وحتى آخره
    وإن أرسلت نص فقط : فهي ترسل لي النص بعد حذف المسافات البيضاء .
    الأمثلة :
    PHP: trim - Manual

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    ثانيا :
    كود PHP:
     preg_match( ); 
    هي دالة تصنف ك PCRE FUNCTIONS
    كود PHP:
    int preg_match($pattern,$text,$matches,$flag,$offset); 
    مهمتها الإجابة عن هذا السؤال :
    هل هذا العنصر " حرف او نص " موجود في النص التالي
    ترجع لي صفر إن لم تجد نتائج وواحد إن وجدت نتيجة .
    تتوقف عن عملها عن العثور على نتيجة واحدة قد تكون هذه النتيجة متطابقة أو جزء من كلمة

    ويمكن إرسال عدة متغيرات اختيارية وهي :
    $matches
    إذا تم إرسالها " كتعريف فقط بأنها موجودة "
    فإنها تكون مصفوفة من عنصر أو اثنين
    الأول : هو النتيجة المتطابقة تماما لما بحثت عنه
    والثانية : هو أول نتيجة متطابقة جزئيا

    س3 : هل من شرح لباقي متغيرات هذه الدالة : flags,offset
    ومامعنى المصطلح : string offset ؟

    PHP: preg_match - Manual

    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ثالثا :
    كود PHP:
      $string mysql_real_escape_string($sql ); 
    تعمل على تجاهل المسافات البيضاء للبيانات المرسلة إلى قاعدة البيانات كطريقة لتشفيير البيانات قبل تخزينها .

    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    أشكر كل من يرد فردودكم تساعدني وتحفزني .
    جزاكم الله خيرا .





    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  2. #17
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    س1 :
    لازلت ابحث عن سبب عدم قدرتي على حفظ البيانات في الجداول
    في ردي السابق !!
    يبدو لي أنك لا زلت تصرّين على الاحتفاظ بنسخة إضافية من " الفاصلة " في استعلامك ، إذا كان الاستعلام لا زال يحوي تلك الفاصلة اللعينة :
    كود PHP:
    "INSERT INTO user(name,pass,email,admin) VALUES('$name','$pass','$email',,'$admin')"
    إذا كنت قد حذفتيها ولم تضعي التعديل ، أخبرينا بذلك كي نتابع المشكلة إن شاء الله بعمليات Debugging بسيطة ..

    س2 : في حالة تم التسجيل بنجاح : وضعت رابط للعودة إلى الصفحة الرئيسية
    لكن كيف يكون الانتقال تلقائي بدون وضع رابط ؟
    يمكنك استخدام Meta من نوع Refresh ، مع أن منظمة W3 كانت قد أعلنت براءتها منها ، ولم تعد هذه الصيغة مدعومة لعدة أسباب .. لكن ، أراها الأنسب للوظيفة المطلوبة هنا ، لاحقاً يمكنك تعلّم " معايير التصميم بلغة HTML أو xHTML " ...

    كود PHP:
    <meta http-equiv="refresh" content="xx; url=yyy"
    المكان الأنسب لهذا الكود هو الرأس <head> ،

    xx هي عدد الثواني التي سيتم بعدها نقل المستخدم إلى الصفحة yyy ..

    باختصار : ارسل له نص وحرف أو مجموعة أحرف
    فتقوم بإعادة هذا النص بعد حذف مجموعة الأحرف منه ابتداء من بدايته وحتى آخره
    وإن أرسلت نص فقط : فهي ترسل لي النص بعد حذف المسافات البيضاء .
    ملاحظة بسيطة: هي تحذفها من بداية النص ونهايته ، وليس من بدايته حتى نهايته ..

    س3 : هل من شرح لباقي متغيرات هذه الدالة : flags,offset
    ومامعنى المصطلح : string offset ؟
    offset تعني موقع الحرف بالبايت داخل النص ، وهي نقطة البداية ، حيث إذا كانت 0 سيبدأ بالبحث من بداية النص ، إن كانت 1 سيبدأ من البايت الثاني ( الحرف الثاني عادة ) ، إذا كانت 2 من البايت الثالث ، وهكذا ..

    أما flags فيمكن حالياً تمرير flag واحد هو:
    كود:
    PREG_OFFSET_CAPTURE
    وهذا سيعيد مع كل نتيجة موقعها داخل النص بالبايت كذلك ( Offset ) ، فمثلاً:
    كود PHP:
    <?php
    preg_match
    ('/ac/''abacdefg'$matchesPREG_OFFSET_CAPTURE);
    print_r($matches);
    ?>
    سيعيد النتيجة ac مع الـ Offset :
    كود:
    Array
    (
        [0] => Array
            (
                [0] => ac
                [1] => 2
            )
    )
    بالنسبة لدوال preg فهي تستخدم التعابير المنتظمة ، Regular Expressions ، إذا لم تصلي بعد إلى هذه المرحلة يمكنك استخدام الدوال النصية العادية إلى حين الوصول لها .. مثل strpos ، و strstr و str_replace .. إلخ

    بخصوص mysql_real_escape_string :
    تعمل على تجاهل المسافات البيضاء للبيانات المرسلة إلى قاعدة البيانات كطريقة لتشفيير البيانات قبل تخزينها .
    كلامك للأسف ليس في محله تماماً ، أريد منك أن تعودي إلى المانيوال:
    PHP: mysql_real_escape_string - Manual

    وتخرجي بفائدة حول هذه الدالة كما هو مطلوب ، مع تجربتها على النصوص العادية دون الإدخال للقاعدة ، مثلاً :
    كود PHP:
    echo mysql_real_escape_string('hello'); 
    هذا مثال بسيط ، المطلوب أعمق من هذا قليلاً .. أنتظر نتيجة بحثك ..

    هذا ما لدي ، وأعتذر لتأخري في الرد ، والسبب أني كنت قد كتبت الرد ثم ضغطت على أحد اللينكات في الصفحة بطريق الخطأ بضاع الرد :@ ..

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  3. #18
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    شكرا أشرف .. سأعود لأقرأ التفاصيل
    وأقول : قد اخطأ في فهم عمل بعض الدوال وأكـون سعيدة بتصحيح معلوماتي .
    " انتظر دوما النقد البناء "
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    كنت انوي إعادة كتابة كل الكود بيدي " وعلى الورقة والقلم " ثم أعيد اختباره
    لكن لا وقت لذلك الآن :
    هذه بعض التعديلات التي قمت بها :
    أولا : الخطأ الفادح هو اختياري طريقة POST لإرسال البيانات ثم التعامل مع مصفوفة GET

    ثانيا : اعتقد بوجود خطأ في دالة التحقق من الإيميل " لأني نسختها ولم اكتبها "
    فهي تعطي نتيجة false دائما .

    ثالثا : قمت بتعديل هذا السطر :
    كود PHP:
    while($row){if($row['name']==$_POST['name']) $_POST['next']=2;
                                    else 
    $_POST['next==1']; 
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    لاتزال عملية إرسال البيانات غير صحيحة هناك حلقة مفقودة !! خاصة وإنه لا تظهر أي من رسائل الخطأ التي ضمن الدوال الشرطية .

    لاحظت أن العنوان لا يتغير بعد إرسال البيانات فلاتظهر البيانات التي ارسلتها في العنوان

    هل هناك حاجة لافتتاح جلسة جديدة ضمن هذه الصفحة ؟؟

    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    اعتقد بأن لدي مشكلة في التسلسل المنطقي للأوامر





    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  4. #19
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    لي عودة للموضوع غداً إن شاء الله تعالى .. أتمنى أن يساعدك الإخوة اليوم كي أختصر عليك الوقت ..

    سأرد على بعض المواضيع التي لها الأولوية الآن إن شاء الله تعالى ، وإن لم يتبق لدي وقت اليوم ( وهو على الأرجح ) سأعود يوم غدٍ إن سنحت لي الفرصة بإذن الله تعالى ..

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  5. #20
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    أشرف
    شكرا لك ..
    رغم تأخري اليوم لكن جيد عدم وجود ردود جديدة .
    سأضيف الكود بعد أن أعدت كتابته وتسلسله .

    أشكر كل من يشاركني مشروعي .





    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  6. #21
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    قمت بتقسيم الكود إلى ثلاث أجزاء رئيسية :
    الأول : إدارج معلومات الاتصال بقاعدة البيانات:
    كود PHP:
    <?include('config.php');?>
    الثاني : النموذج .
    كود:
    <form action="newuser.php" method="POST">
    
    	<table>
    	<tr><td>اسم المستخدم : <input type="text" name="name" ></td></tr>
    	<tr><td>كلمة السر : <input type="password" name="pass"></td></tr>
    	<tr><td>إعادة كلمة السر :<input type="password" name="name2"></td></tr>
    	<tr><td>البريد الإلكتروني :<input type="tetx" name="email"></td></tr>
    	<tr><td><input type="submit" name="submit1" value="تسجيل">
    			<input type="reset" name="reset1" value="مسح"></td></tr>
    	</table>
    </form>
    الجزء الثالث: يشمل التحقق من البيانات ثم إدخالها
    قمت بتقسيم هذا الجزء إلى أربع أقسام رئيسية :
    للتسهيل سأسميها بالأحرف
    • A
    • B
    • C
    • D

    والأخير منها D يتفرع إلى ثلاثة أفرع : سأسميها
    • الفرع الأول
    • الفرع الثاني
    • الفرع الثالث


    الجزء الرئيسي الثالث : يبدأ بدالة شرطية تنتهي بانتهاء جميع الأقسام A,B,C,D وبالطبع يتضمن الفروع الثلاثة
    كود PHP:
    if($_POST['next'])
    {
    //A
    //B
    //C
    //D
    //الفرع الأول
    //الفرع الثاني
    //الفرع الثالث

    الجزء A
    كود PHP:
    if(empty($_POST['name'])or empty($_POST['pass']) or empty($_POST['pass2']) or empty($_POST['email']))  {$aif=0; }
        else {
    $aif=1;    echo'good , all feiled filled';} 
    الجزء B

    كود PHP:
    if($_POST['pass']!=$_POST['pass2']){$bif=0;    }
        else {
    $bif=1;    echo'password is fine';} 






    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  7. #22
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    الجزء C للتحقق من صحة الإيميل : سأعود إليه لاحقا بإذن الله

    الجزء D : وهو عبارة عن دالة شرطية تتحقق باعتبار صحة جميع الشروط السابقة .


    الفرع الأول :

    كود PHP:
    $sql="SELECT * FROM user";
        
    $query=mysql_query($sql);
        
    $row=mysql_num_rows($query);
        
    // first brnach    :::    admin value
        
    if($aif&&$bif&&$cif)
        {
        echo
    'ممتاز استمري';
        if(!
    $sql)    {$admin=1; echo'is admin';}
        else {
    $admin=0; echo'not admin';}
        } 
    الفرع الثاني : التأكد من أن اسم المستخدم متاح
    كود PHP:
    if($row>1)
        {
        while(
    $row){if($row['name']==$_POST['name']) $_POST['next']=2;else{$_POST['next']=1; echo'user name exsit,enter new user name';}}
        } 
    الفرع الثالث : إدخال البيانات في حالة صحة " الفرع الثاني "
    كود PHP:
    if($_POST['next']=2)
        {
        
    $name=mysql_real_escape_string($_POST['name']);
        
    $pass=md5(mysql_real_escape_string($_POST['pass']));
        
    $email=mysql_real_escape_string($_POST['email']);
        
        
    $insert="INSERT INTO user(name,pass,email,admin)     values ('$name','$pass','$email','$admin')";
        
        
    $query_insert=mysql_query($insert);
        if(
    $query_insert) {$_POST['next']=3;}
        } 






    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  8. #23
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    معقول !!
    كتابتي لطريقة إرسال البيانات POST بحروف كبيرة : كان يمنع التنفيذ !!!

    كود PHP:
    <form action="newuser.php" method="POST"  
    الآن يتم الحفظ في الجدول لكن التحقق من البيانات غير دقيق
    وكذلك رسائل التحذير لاتظهر بطريقة مناسبة

    هل من رد !!

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::
    سأعود غدا بإذن الله تعالى مع :

    • تعليق عن mysql_real_escape_string
    • نموذج إدخال البيانات ومعالجتها
    • بعض الفوائد العامة


    :::::::::::::::::::::::::::::::::::::::::::::::::::::





    التعديل الأخير تم بواسطة SaharRose ; 28-05-2008 الساعة 06:38 PM سبب آخر: تحديث الرد
    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  9. #24
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    SaharRose ، آسف على تأخري في الرد وذلك لظروف خارجة عن إرادتي.

    قبل أن أبدأ تحليلي للكود ، أطلب فضلاً منك لا أمراً ، أن تقومي بترتيب الكود ، سأتحدث عن الترتيب إن شاء الله بعد الحديث حول الأخطاء ، حيث أن ترتيب الكود هو أساس اكتشاف أي خطأ ( خاصة من قبل من يرى الكود للوهلة الأولى ) ..

    سأبدأ بالجزء الثاني:
    كود PHP:
    <form action="newuser.php" method="POST">

        <
    table>
        <
    tr><td>اسم المستخدم : <input type="text" name="name" ></td></tr>
        <
    tr><td>كلمة السر : <input type="password" name="pass"></td></tr>
        <
    tr><td>إعادة كلمة السر :<input type="password" name="name2"></td></tr>
        <
    tr><td>البريد الإلكتروني :<input type="tetx" name="email"></td></tr>
        <
    tr><td><input type="submit" name="submit1" value="تسجيل">
                <
    input type="reset" name="reset1" value="مسح"></td></tr>
        </
    table>
    </
    form
    لاحظي حقل " إعادة كلمة السر " ، قمت بإعطائه الاسم name2 مع أنك تقصدين " pass2 " ، لكنك تؤمنين حتى في برمجتك بـ " إنما الأعمال بالنيات "

    وكذلك text لحقل البريد الإلكتروني: " tetx " .. يلزمك قليل من الهدوء أثناء كتابة الكود ، فالأخطاء المطبعية إن لم تخرج Error فهي صعبة الاكتشاف ..

    في الجزء الثالث:

    أستغرب استخدامك لـ
    كود PHP:
    if($_POST['next']) 
    مع أننا اتفقنا على استخدام:
    كود PHP:
    if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    هل هناك أي مشكلة باستخدامها ؟

    الفرع الثاني:
    كود PHP:
    if($row>1
        { 
        while(
    $row){if($row['name']==$_POST['name']) $_POST['next']=2;else{$_POST['next']=1; echo'user name exsit,enter new user name';}} 
        } 
    يبدو هذا الكود مرهقاً ، لا أعلم إن كان سيعمل بنجاح ، لأن row$ تحوي عدد السجلات فقط ، ولا تحوي مصفوفة بداخلها بيانات السجلات ( إلا إذا كان لديك كود آخر لتعريفها لم أره أنا ) ، عموماً لا أظنها تعمل .. وإن كانت تعمل فهذه الطريقة ميئوسة نوعاً ما .. لماذا لا ننفذها عن طريق استعلام بسيط؟

    كود PHP:
    $sql "select * from `user` where `name` = '"$_POST['name'] ."'";
    $query mysql_query($sql);
    if (
    mysql_num_rows($query) > 0) {
     
    $_POST['next'] = 2;
    } else {
     
    $_POST['next'] = 1;

    مع أني لا أنصحك أبداً باستخدام متغيرات في مصفوفات خارجية أو معرفة مسبقاً في برنامجك ، ما أقصده هو أنه من الأفضل أن تستخدمي:
    كود PHP:
    $next 2;
    $next 1
    بهذا الشكل ، بدلاً من:
    كود PHP:
    $_POST['next'] == 2;
    $_POST['next'] == 1
    الفرع الثالث:
    كود PHP:
    if($_POST['next']=2
    إذا أخذت بكلامي في الأعلى بخصوص next$ فعليك تغييرها هنا كذلك .. كما أن المعامل = يستخدم لتعيين قيمة فضلاً عن التحقق من قيمة ، المعامل الصحيح هو == .. يمكنك القراءة حول Operators أو المعاملات في لغة PHP للمزيد حول هذه المعاملات وغيرها ..

    بخصوص ترتيب الكود:

    سأضع لك مرفقاً أتمنى أن تهتمي بالترتيب الذي هو عليه ، يمكنك تغيير طريقة التنظيم ، المهم أن يكون الكود مقروءاً فعلاً للجميع ..

    تحياتي، أشرف السمهوري





    الملفات المرفقة الملفات المرفقة
    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  10. #25
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    ، آسف على تأخري في الرد وذلك لظروف خارجة عن إرادتي.

    قبل أن أبدأ تحليلي للكود ، أطلب فضلاً منك لا أمراً ، أن تقومي بترتيب الكود ، سأتحدث عن الترتيب إن شاء الله بعد الحديث حول الأخطاء ، حيث أن ترتيب الكود هو أساس اكتشاف أي خطأ ( خاصة من قبل من يرى الكود للوهلة الأولى ) ..
    :1power:
    أهلا بك أستاذي الكريم ولا داعي للاعتذار
    فأنا أقدر جدا الوقت التي تقضيه في كتابة ردودك
    اسأل الله تعالى أن يجزيك خير الجزاء ويزيدك من فضله .
    ,, علي أنا مضاعفة جهودي لاكتشافي تلك الاخطاء الصغير
    لا ألومك أو غيرك من الأعضاء إن لم أجد ردا .. لكن لن اسمح لذلك بأن يوقفني
    مواصلة بإذن الله وبدأت التفكير في المشروع الثاني حتى لااتوقف عند الأول فقط .



    بالنسبة للجزء الثاني
    صحيح أخطاء بسيطة لكن المعذرة فهو مشروعي الأول
    شاهدت في يوتيوب قبل فترة قصيرة شرح وكان يكتب الكود حرفا حرفا : وقلت لنفسي !! كيف يصبر علي ذلك يكتب الكود حرف حرف !! لكن اليوم لدي إيمان عميق بأن النتيجة تستحق الصبر والتعلم هو التزام واجتهاد

    للعلم فقط : هذه اول مرة اكتب كود كامل وبيدي منذ فترة طويلة
    أطلب من كل من يشاركني مشروعي الأول الصبر على اخطائي التي قد تبدر صغيرة للبعض

    في الجزء الثالث:
    نعم اتفقنا على استخدام:
    كود PHP:
    if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    لكني كنت سأقرأ عنها ثم استخدمها " وسطقت سهوا هي الآخرى "

    الفرع الثاني:
    كود PHP:
    if($row>1
        { 
        while(
    $row){if($row['name']==$_POST['name']) $_POST['next']=2;else{$_POST['next']=1; echo'user name exsit,enter new user name';}} 
        } 
    يبدو هذا الكود مرهقاً ، لا أعلم إن كان سيعمل بنجاح ، لأن row$ تحوي عدد السجلات فقط ، ولا تحوي مصفوفة بداخلها بيانات السجلات ( إلا إذا كان لديك كود آخر لتعريفها لم أره أنا ) ، عموماً لا أظنها تعمل .. وإن كانت تعمل فهذه الطريقة ميئوسة نوعاً ما .. لماذا لا ننفذها عن طريق استعلام بسيط؟
    بل حالته صعبة جدا يدخل infinte loop

    بالنسبة للبديل
    كود PHP:
    [php]
    $sql "select * from `user` where `name` = '"$_POST['name'] ."'";
    $query mysql_query($sql);
    if (
    mysql_num_rows($query) > 0) {
     
    $_POST['next'] = 2;
    } else {
     
    $_POST['next'] = 1;

    [/PHP]

    فهل من الممكن شرح السطر الأول خاصة مع استخدام $_POST['name'] لم افهم ماذا يحدث

    كود PHP:
    مع أني لا أنصحك أبداً باستخدام متغيرات في مصفوفات خارجية أو معرفة مسبقاً في برنامجك ، ما أقصده هو أنه من الأفضل أن تستخدمي:
    [
    php]
    $next 2;
    $next 1
    بهذا الشكل ، بدلاً من:
    كود PHP:
    $_POST['next'] == 2;
    $_POST['next'] == 1

    قمت بذلك . وكأني افهم أنه علي إرسال القيم كمتغيرات وليس حفظها مباشرة في المصفوفة .

    [/PHP]
    الفرع الثالث:
    كود PHP:
    if($_POST['next']=2
    إذا أخذت بكلامي في الأعلى بخصوص next$ فعليك تغييرها هنا كذلك .. كما أن المعامل = يستخدم لتعيين قيمة فضلاً عن التحقق من قيمة ، المعامل الصحيح هو == .. يمكنك القراءة حول Operators أو المعاملات في لغة PHP للمزيد حول هذه المعاملات وغيرها ..
    نعم كلامك صحيح وقد درست ذلك لكنها سقطت الآخرى سهوا .
    قبل اليوم كنت لا اقرأ الأسطر كاملة عند مراجعتها واكتفي بمراجعة اسماء الدوال والمتغيرات والفواصل والأقواس لكني سأبدأ باعتماد طريقة القراءة مثل الكتابة : حرف حرف ونقطة نقطة



    بخصوص ترتيب الكود:
    سألت عن ذلك في بداية الموضوع وأعلم أهميته
    وأتقبل أي نصائح حول ذلك .

    هذا الكود بعد جميع التعديلات :

    كود PHP:
    <?
    include('config.php');
    session_start();
    /* step (3) :  divided into (5) pacies : 
                    * 4  of them  small steps : A,B,C,
                    *and the last one is D is contain e,f and g .
    */
    if($SERVER['REQUEST_METHOD']='POST'){
    /*(A)
        if is it  empty : $aif=0, else $aif=1 */
    if(empty($_POST['name'])or empty($_POST['pass']) or empty($_POST['pass2']) or empty($_POST['email'])){
                
    $aif=0
                }else {
                    
    $aif=1;
                    echo
    '<br> Good , all filled';
                }

    /*(B)
        compare 2 password :  if true : $bif=1  else $bif=0 */
    if($_POST['pass']!=$_POST['pass2']){
                    
    $bif=0;
                    } else {
                        
    $bif=1;
                        echo
    '<br> good password';
                    }

    /*(C)
        Is it true email : if true $cif=1  else cif=0 */
        // later
    $cif=1;

    /*(D)
        if((  aif&cif&bif  are true : step |e| :Is admin?    step|f|:Compre user name    step|g|:Insertdata ))     else :error message  */
        
    $sql="SELECT * FROM 'user'";
    $query=mysql_query($sql);
    $row=mysql_num_rows($query);
        
    // first brnach    :::    admin value
    $admin=0;    
    if((
    $aif&&$bif)&&$cif){
            echo
    'ممتاز استمري';
            if(!
    $sql){
                
    $admin=1;
                echo
    '<br>is admin';
                }else {
                
    $admin=0;
                echo
    '<br>not admin';
                }
        }
        
    //*Ashrf  second branch    :::    test user name
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $sql2="SELECT * FROM 'user' WHERE 'name'=''".$_POST['name']."";
        
    $query2=mysql_query($sql2);
        if(
    mysql_num_rows($query2)>0){
                        
    $next=2;
                }else {
                        
    $next=1;
                        }
        
        
    //third branch
    if($_SERVER['REQUEST_METHOD']='POST')
        {
        
    $name=mysql_real_escape_string($_POST['name']);
        
    $pass=md5(mysql_real_escape_string($_POST['pass']));
        
    $email=mysql_real_escape_string($_POST['email']);
        
        
    $insert="INSERT INTO 'user'(name,pass,email,admin)     values ('$name','$pass','$email','$admin')";
        
        
    $query_insert=mysql_query($insert);
        if(
    $query_insert) {//$_POST['next']=3; 
                
    echo 'لقد تم التسجيل بنجاح عد للصفحة الأولى';
                echo
    '<a href=mainpage>الصفحة الأولى </a>';
                            }
        } else {  
    // error
                
    if(!$aif) echo'at least on of feiled is empty';
                if(!
    $bif) echo'كلمتي السر غير متطابقان';
                
    //if($cif)
                
    }
    }
    ?>
    من ملاحظاتي على الكود : عدم قدرته على عرض رسائل الخطأ بصورة صحيحة .
    وعدم قدرته على حفظ قيمة المتغير $admin فهي فارغة دوما .


    بالنسبة لدالة mysql_real_escape_string
    $ بدون الاتصال بقاعدة البيانات تظهر رسالة تحذير

    ولا تطبع شيء
    Warning: mysql_real_escape_string(): Access denied for user 'ODBC'@'localhost' (using

    password: NO) in c:\appserv\www\makeup\test.php on line 2

    Warning: mysql_real_escape_string(): A link to the server could not be established in c:

    \appserv\www\makeup\test.php on line 2

    $ بإضافة سطر للاتصال بقاعدة البيانات
    تعمل بشكل جيد
    ويظهر أن لها طريقة خاصة في معالجة النص
    فهي تعمل على
    escape
    تجاهل أو هروب !! أو ماذا
    للرموز الآتية
    \x00
    \t
    \n
    \
    '
    ''
    \x1a

    والتطبيق :
    كود PHP:
     <? 
    $con
    =mysql_connect('localhost','root','');
    echo 
    mysql_real_escape_string('SaharRose'); //  
    echo '<br><font color="red">S a h a r R o s e:</font>'.mysql_real_escape_string('S a h a r R o s e');
    echo 
    '<br><font color="red">S   a   h    a   r   R   o   s    e:</font>'.mysql_real_escape_string('S   a   h    a   r   R   o   s    e');
    echo 
    '<br><font color="red">   Sahar   R o s e    :</font>'.mysql_real_escape_string('   Sahar   R o s e    :');
    echo 
    '<br><font color="red">Shar Rose:</font>'.mysql_real_escape_string('Shar Rose');
    echo 
    '<br><font color="red"> Sahar Rose </font>'.mysql_real_escape_string(' Sahar Rose ');
    echo 
    '<br><font color="red">Sahar\nRose:</font>'.mysql_real_escape_string('Sahar\nRose');
    echo 
    '<br><font color="red">Sahar \Rose:</font>'.mysql_real_escape_string('Sahar \Rose');
    echo 
    '<br><font color="red">Sahar\x00Rose:</font>'.mysql_real_escape_string('Sahar\x00Rose');
    echo 
    '<br><font color="red">Sahar\tRose:</font>'.mysql_real_escape_string('Sahar\tRose');
    echo 
    '<br><font color="red">Sahar<font color="blue">\tt</font>Rose:</font>'.mysql_real_escape_string('Sahar\ttRose');
     
    ?>
    لم اعرف كيف ادخل
    single qutation





    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  11. #26
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    أهلا بك أستاذي الكريم ولا داعي للاعتذار
    فأنا أقدر جدا الوقت التي تقضيه في كتابة ردودك
    اسأل الله تعالى أن يجزيك خير الجزاء ويزيدك من فضله .
    ,, علي أنا مضاعفة جهودي لاكتشافي تلك الاخطاء الصغير
    لا ألومك أو غيرك من الأعضاء إن لم أجد ردا .. لكن لن اسمح لذلك بأن يوقفني
    مواصلة بإذن الله وبدأت التفكير في المشروع الثاني حتى لااتوقف عند الأول فقط .
    هههه بالعكس وقتي معكم كله في الفائدة والمتعة والحمدلله ، ولكن قد نمر في أوقات دراسية أو ظروف تمنعنا من المتابعة باستمرار .. بل وتجعلنا بعيدين عن هذه الشاشة التي عشنا أمامها طويلاً ..

    جميل إصرارك على المتابعة وأتمنى أن تستمري على ذلك

    شاهدت في يوتيوب قبل فترة قصيرة شرح وكان يكتب الكود حرفا حرفا : وقلت لنفسي !! كيف يصبر علي ذلك يكتب الكود حرف حرف !! لكن اليوم لدي إيمان عميق بأن النتيجة تستحق الصبر والتعلم هو التزام واجتهاد
    سيبدو لك في البداية أن كتابة 100 سطر قد تكون معجزة ، لكن في الأيام المقبلة إن شاء الله ستكتشفين أنها عملية سهلة جداً ولن تأخذ من وقتك الكثير ..

    عند تكرار كود ما من أكوادك يمكنك نسخها ما دمت قد كتبتيها للمرة الأولى ، أحياناً نحتاج لتكرار بعض الأكواد ..

    فهل من الممكن شرح السطر الأول خاصة مع استخدام $_POST['name'] لم افهم ماذا يحدث
    هذا استعلام SQL كأي استعلام عادي .. جملة SELECT تكون بالشكل التالي :
    select * from `table`

    وقد أضفنا عليها شرط أن يتم اختيار الصفوف التي فيها الاسم هو الاسم المدخل من النموذج، عملياً:
    select * from `user` where `name` = 'Sahar'

    اختر الصفوف من جدول user حيث الاسم = Sahar

    برمجياً، قمنا بتضمين $_POST['name'] من الفورم ، رغم أن هذه الطريقة ليست آمنة لأننا لم نطبّق mysql_real_escape_string ، يمكن تطبيقها كالتالي:
    كود PHP:
    $sql "select * from `user` where `name` = '"mysql_real_escape_string($_POST['name']) ."'"
    أتمنى أن تكون قد وصلت الفكرة .. وكي تحصلي على الاستعلام الذي سيتم تنفيذه يمكنك طباعته بواسطة echo كنوع من الفهم الأعمق:
    كود PHP:
    echo $sql "select * from `user` where `name` = '"mysql_real_escape_string($_POST['name']) ."'"
    قمت بذلك . وكأني افهم أنه علي إرسال القيم كمتغيرات وليس حفظها مباشرة في المصفوفة .
    أي نعم ، فمصفوفتا POST و GET معدتان للمتغيرات الخارجية ، الأفضل أن نستخدم كل أمر لوظيفته المعد لها بدلاً من أن نعقّد برامجنا بأكواد لا حاجة لها ..

    نعم كلامك صحيح وقد درست ذلك لكنها سقطت الآخرى سهوا .
    قبل اليوم كنت لا اقرأ الأسطر كاملة عند مراجعتها واكتفي بمراجعة اسماء الدوال والمتغيرات والفواصل والأقواس لكني سأبدأ باعتماد طريقة القراءة مثل الكتابة : حرف حرف ونقطة نقطة
    ممتاز ، بعد ذلك ستتمكين بإذن الله تعالى من اكتشاف الأخطاء من نظرة واحدة على الكود . العملية سهلة جداً ، يلزمها خبرة بسيطة فقط وستكتسبين السرعة تلقائياً إن شاء الله .

    بالنسبة لـ mysql_real_escape_string ، نعم فهي تمنع تنفيذ هذه العلامات بوضع \ قبلها ، فمثلاً \n لن تعمل كسطر جديد لأنها ستصبح \\n .. بهذه الطريقة ..

    الفرق بين mysql_real_escape_string و mysql_escape_string ، هو أن الأولى تطلب اتصالاً بقاعدة البيانات ، وهذا ما توصلتِ إليه عن طريق التجربة في ردك ، أما الثانية فلا تلزم اتصالاً ، كذلك الأولى أكثر كفاءة في اتلعامل مع الترميزات المختلفة ..

    المبرمج عادة يفضّل استخدام mysql_real_escape_string في برامجه لكفاءة أعلى ..

    أما الـ Single Quotation ، فيمكن تضمينها داخل النص هكذا:
    كود PHP:
    echo 'it\'s me'
    لاحظي أننا قمنا بتجاهلها ( escape ) كي نطبعها ..

    أما داخل النص الموجود في Double Quotation فلا داع لذلك:
    كود PHP:
    echo "it's me"
    هناك درس طويل بعض الشيء يشرح تفصيلاً كيفية التعامل مع هذه الإشارات بإتقان ، إن أردت الإطلاع عليه فهو موجود هنا : [TZPC] الدرس الخامس: البيانات النصية Strings - TechZone Forums

    عذراً ، فأنا لا أضع روابط الدور هنا إلا للفائدة ، حيث أنها مواضيع طويلة من الصعب تلخيصها في رد واحد ، ليست عملية إعلانية ..

    بالنسبة لمشاكل كودك سأعود لها إن شاء الله لاحقاً ، أتمنى أن تحاولي ترتيب الكود في ذهنك لاكتشاف الأخطاء ريثما أعود .. أشعر بالتعب والملل قليلاً :$ ..

    أعتذر على التقصير .. ( هالأيام الوضع مو مستقر ، سامحونا )

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  12. #27
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    السلام عليكم

    عدنا من جديد .. اليوم الخميس والظاهر الناس كلها تتمشى
    اعتبر نفسي في تحدي مع الزمن فقد كنت أريد الانتهاء من ذلك اليوم " هذا الكلام قبل اسبوع"
    لكن مع إضافتي لهذا الموضوع أعطيت نفسي مزيدمن الوقت إلى يوم الخميس القادم
    لأبدأ بعد ذلك مشروعي الثاني والذي سميته : مفسر الرؤى "

    أرجو ممن يقرأ موضوعي أن يقدم لي المعلومة التي يملكها أو النصح والتوجيه وسأكون مقدرة جدا لكل كلمة تكتب .

    أشكر الأخ أشرف شكرا جزيلا على تواصله وأطمع بمزيد من الردود من الجميع بلا استثناء .
    الحمد لله اعتبر نفسي نجحت في تحدي اليوم كنت قررت الانتهاء من كتابة يدوية ل (7)صفحات آخرى فقمت بإنشاء الصفحات التالية :
    user.php وهو نموذج بسيط لتسجيل مستخدم جديد بالموقع وهي مرتبطة بالصفحة newuser
    newuser.php هي صفحة التحقق من البيانات ثم إرسالها إلى قاعدة البيانات .

    loginform.php وهي نموذج بسيط لتسجيل دخول العضو للموقع : ويرتبط بصفحة checklogin
    checklogin.phpهي صفحة التحقق من بيانات تسجيل دخول العضو ثم نقله لمنطقة أعضاء الموقع

    search.php محرك البحث بالموقع عن طريق الرقم التسلسلي : ويشترط تسجيل دخول العضو ويتيح تعديل التعليق القديم إلى بآخر .

    result.php
    عرض لنتيجة البحث : إما نتيجة واحدة (( وفي هذه الحالة يظهر رابط لتحرير التعليق الخاص بها )) أو رسالة بعدم وجود نتائج .

    edit.php
    نموذج لتعديل التعليق بآخر مع تاريخ إضافته في جدول box : مع الاحتفاظ بنسخة قديمة منه مع تاريخها في جدول edit

    type1.php
    type2.php
    type3.php
    هذه الصفحات الثلاث متشابهة : تقوم باستعلام عن جميع العناصر التي من نوع معين ثم تعرضها في صفحة خاصة " قد احتاج إلى تطبيق فكرة تعدد الصفحات هنا "


    والآن انتبهت أن نسيت إنشاء صفحة إدخال بيانات المنتجات والخاصة أيضا بأعضاء الموقع . "لم اسميها بعد"

    هذه هي الصفحات التي قمت بكتابتها :

    user.php
    كود PHP:
    <?
    include('config.php');
    session_start();
    ?>
    <html>
    <head></head>
    <body>
    <form action="newuser.php" method="post">

        <table>
        <tr><td>اسم المستخدم : <input type="text" name="name" ></td></tr>
        <tr><td>كلمة السر : <input type="password" name="pass"></td></tr>
        <tr><td>إعادة كلمة السر :<input type="password" name="pass2"></td></tr>
        <tr><td>البريد الإلكتروني :<input type="text" name="email"></td></tr>
        <tr><td><input type="submit" name="submit1" value="تسجيل">
                <input type="reset" name="reset1" value="مسح"></td></tr>
        </table>
    </form>
    </body>
    </html>
    newuser.php
    كود PHP:
    <?
    include('config.php');
    session_start();
    /* step (3) :  divided into (5) pacies : 
                    * 4  of them  small steps : A,B,C,
                    *and the last one is D is contain e,f and g .
    */
    if($SERVER['REQUEST_METHOD']='POST'){
    /*(A)
        if is it  empty : $aif=0, else $aif=1 */
    if(empty($_POST['name'])or empty($_POST['pass']) or empty($_POST['pass2']) or empty($_POST['email'])){
                
    $aif=0
                }else {
                    
    $aif=1;
                    echo
    '<br> Good , all filled';
                }

    /*(B)
        compare 2 password :  if true : $bif=1  else $bif=0 */
    if($_POST['pass']!=$_POST['pass2']){
                    
    $bif=0;
                    } else {
                        
    $bif=1;
                        echo
    '<br> good password';
                    }

    /*(C)
        Is it true email : if true $cif=1  else cif=0 */
        // later
    $cif=1;

    /*(D)
        if((  aif&cif&bif  are true : step |e| :Is admin?    step|f|:Compre user name    step|g|:Insertdata ))     else :error message  */
        
    $sql="SELECT * FROM 'user'";
    $query=mysql_query($sql);
    $row=mysql_num_rows($query);
        
    // first brnach    :::    admin value
    $admin=0;    
    if((
    $aif&&$bif)&&$cif){
            echo
    'ممتاز استمري';
            if(!
    $sql){
                
    $admin=1;
                echo
    '<br>is admin';
                }else {
                
    $admin=0;
                echo
    '<br>not admin';
                }
        }
        
    //*Ashrf  second branch    :::    test user name
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $sql2="SELECT * FROM 'user' WHERE 'name'=''".$_POST['name']."";
        
    $query2=mysql_query($sql2);
        if(
    mysql_num_rows($query2)>0){
                        
    $next=2;
                }else {
                        
    $next=1;
                        }
        
        
    //third branch
    if($_SERVER['REQUEST_METHOD']='POST')
        {
        
    $name=mysql_real_escape_string($_POST['name']);
        
    $pass=md5(mysql_real_escape_string($_POST['pass']));
        
    $email=mysql_real_escape_string($_POST['email']);
        
        
    $insert="INSERT INTO 'user'(name,pass,email,admin)     values ('$name','$pass','$email','$admin')";
        
        
    $query_insert=mysql_query($insert);
        if(
    $query_insert) {//$_POST['next']=3; 
                
    echo 'لقد تم التسجيل بنجاح عد للصفحة الأولى';
                echo
    '<a href=mainpage>الصفحة الأولى </a>';
                            }
        } else {  
    // error
                
    if(!$aif) echo'at least on of feiled is empty';
                if(!
    $bif) echo'كلمتي السر غير متطابقان';
                
    //if($cif)
                
    }
    }
    ?>
    loginform.php
    كود PHP:
    <?
    include('config.php');
    session_start();
    /* step (3) :  divided into (5) pacies : 
                    * 4  of them  small steps : A,B,C,
                    *and the last one is D is contain e,f and g .
    */
    if($SERVER['REQUEST_METHOD']='POST'){
    /*(A)
        if is it  empty : $aif=0, else $aif=1 */
    if(empty($_POST['name'])or empty($_POST['pass']) or empty($_POST['pass2']) or empty($_POST['email'])){
                
    $aif=0
                }else {
                    
    $aif=1;
                    echo
    '<br> Good , all filled';
                }

    /*(B)
        compare 2 password :  if true : $bif=1  else $bif=0 */
    if($_POST['pass']!=$_POST['pass2']){
                    
    $bif=0;
                    } else {
                        
    $bif=1;
                        echo
    '<br> good password';
                    }

    /*(C)
        Is it true email : if true $cif=1  else cif=0 */
        // later
    $cif=1;

    /*(D)
        if((  aif&cif&bif  are true : step |e| :Is admin?    step|f|:Compre user name    step|g|:Insertdata ))     else :error message  */
        
    $sql="SELECT * FROM 'user'";
    $query=mysql_query($sql);
    $row=mysql_num_rows($query);
        
    // first brnach    :::    admin value
    $admin=0;    
    if((
    $aif&&$bif)&&$cif){
            echo
    'ممتاز استمري';
            if(!
    $sql){
                
    $admin=1;
                echo
    '<br>is admin';
                }else {
                
    $admin=0;
                echo
    '<br>not admin';
                }
        }
        
    //*Ashrf  second branch    :::    test user name
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    $sql2="SELECT * FROM 'user' WHERE 'name'=''".$_POST['name']."";
        
    $query2=mysql_query($sql2);
        if(
    mysql_num_rows($query2)>0){
                        
    $next=2;
                }else {
                        
    $next=1;
                        }
        
        
    //third branch
    if($_SERVER['REQUEST_METHOD']='POST')
        {
        
    $name=mysql_real_escape_string($_POST['name']);
        
    $pass=md5(mysql_real_escape_string($_POST['pass']));
        
    $email=mysql_real_escape_string($_POST['email']);
        
        
    $insert="INSERT INTO 'user'(name,pass,email,admin)     values ('$name','$pass','$email','$admin')";
        
        
    $query_insert=mysql_query($insert);
        if(
    $query_insert) {//$_POST['next']=3; 
                
    echo 'لقد تم التسجيل بنجاح عد للصفحة الأولى';
                echo
    '<a href=mainpage>الصفحة الأولى </a>';
                            }
        } else {  
    // error
                
    if(!$aif) echo'at least on of feiled is empty';
                if(!
    $bif) echo'كلمتي السر غير متطابقان';
                
    //if($cif)
                
    }
    }
    ?>

    checklogin.php
    كود PHP:
    <?
    include('config');
    session_start();
    if(
    $_GET['next']){
        
    $sql="SELECT * FROM 'user' WEHER 'name'=$_GET['name']";
        
    $query=mysql_query($sql);
        if(
    $query){
            
    $row=mysql_fetch_array($sql);
            while(
    $row){
                @
    extract($row);
                if(
    $row['name']==$_GET['name']){
                    if(
    $row['pass']==$_GET['pass']){
                        
    next=2;
                    }                
                    }
                }
            }else {
                
    ehco'اسم المستخدم أو كلمة السر خاطئة';
            }

        }
    if(
    $_GET['next']==2){
        echo
    '<br> تم تسجيل الدخول بنجاح اضغط هنا للانتقال إلى منطقاة الأعضاء <a href=memberpages.php>هنا </b>'
        
    }
    ?>
    search.php
    كود PHP:
    <?
    include('config');
    session_start();
    if(
    $_GET['next']){
        
    $sql="SELECT * FROM 'user' WEHER 'name'=$_GET['name']";
        
    $query=mysql_query($sql);
        if(
    $query){
            
    $row=mysql_fetch_array($sql);
            while(
    $row){
                @
    extract($row);
                if(
    $row['name']==$_GET['name']){
                    if(
    $row['pass']==$_GET['pass']){
                        
    next=2;
                    }                
                    }
                }
            }else {
                
    ehco'اسم المستخدم أو كلمة السر خاطئة';
            }

        }
    if(
    $_GET['next']==2){
        echo
    '<br> تم تسجيل الدخول بنجاح اضغط هنا للانتقال إلى منطقاة الأعضاء <a href=memberpages.php>هنا </b>'
        
    }
    ?>
    result.php
    كود PHP:
    <?
    include ('config.php');
    session_start();
    ?>
    <html>
    <head><title>نتائج البحث</title></head>
    <body>
        <b>نتائج البحث<br><br>

    <?
    $x
    =$_GET['id'];
    $sql="SELECT * FROM 'box' WEHER 'box'=$x";
    $query=mysql_query($sql);
    $row=mysql_fetch_array($query);
    if(
    $row){
        while(
    $row){
        @
    extract($row);
        echo 
    "<table><tr><td>$row['id']</td></tr>
                    <tr><td>
    $row['type']</td></tr>
                    <tr><td>
    $row['comment']</td></tr>
        </table>"
    ;
            }
        echo
    '<a href="edit.php">اضغط هنا للتحرير</a';
        }else echo
    'لاتوجد نتائج';

    ?>

    </body>
    </html>
    edit.php
    كود PHP:
    <?
    include('config.php');
    session_start();
    ?>
    <html>
    <head></head>
    <body>
        <form action="edit.php" method="get">
        <table>
        <tr><td><input type="text" name="comment" size=60>التعليق</td><tr>
        <tr><td><input type="submit" name="submit"value="OK"></td><tr>
        <tr><td><input type="reset" name="clear"></td><tr>
        </table>
        </form>
    <?
    if($_GET['next']){
        
    $sql="SELECT * FROM 'box' WHERE 'id'=$_GET['id']";
        
    $row=mysql_fetch_row($sql);
        
        if(
    $_GET['comment']){
        
    // 
            
    $sql2="INSERT INTO edit(edit_comment)  VALUES($row['comment']')";
            
    $sql3="INSERT INTO box(comment) VALUES($_GET['commnet'])";
            }
    }
    ?>
        
    </body>
    </html>






    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  13. #28
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    جمعة مباركة يارب ..
    أهلا فيك أشرف
    رأيت ردك السابق بعد أن وضعت ردي ولم أملك الوقت لأعود للتعليق عليه
    ربنا يوفقك في دراستك .

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

    أشكرك على رابط الدورة سأحرص على قراءتها بإذن الله تعالى .
    بالنسبة للتعابير القياسية :استفدت من ردك واكتفي بذلك مؤقتا و أؤجل الدخول في تفاصيلها إلى مشروع آخر بإذن الله يكون بعد إطلاع أكبر على هذه الموضوع : في أول مرة اقرأ " التعابير القياسية " لم افهم معنى ذلك !! لكني على الأقل استفدت معرفتي ببساطة ماهيتها وأهميتها .

    لا أحب رؤية عبارات توحي بالتعب والملل ونحو ذلك فذلك معدي حقا
    ربما من وسائل تغلبي على ذلك : هو تغيير جو العمل مالذي يمنع ان اكتب كود وأنا في جلسة عائلية أو اشاهد التلفزيون قليلا ثم أعود للتركيز في الكود !! ربما لأني بعيدة عن التطبيق العملي وحتى الدراسة من مدة طويلة بالنسبة لي فإن أهون على نفسي " كتابة كود من ألف سطر وليس 100 فقط "

    التوفيق من عند الله تعالى

    نسأل الله تعالى أن يعلمنا ماينفعنا وينفعنا بما علمنا ويزيدنا من فضله .

    لي عودة بإذن الله تعالى مع التعديلات الجديدة أو الاستفسارات وربما خطة دقيقة لأنتهي من هذا المشروع خلال أيام قليلة بإذن الله تعالى .

    دعواتكم لي .





    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  14. #29
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    بارك الله في أوقاتك ..

    أنتظر تعديلاتك وترتيبك للمسات الأخيرة على المشروع ، جميل أن نرى مشروعك الأول هنا ينبع من سوالف سوفت وبين إخوتك في المنتدى ..

    بالنسبة للتعابير القياسية ، فلا تقلقي فهي ليست ضمن لغة PHP ، وإنما هي مجال منفرد ونظام موجود في كل اللغات ، قد يفيدك الموقع التالي لكن ليس الآن ، عندما تفرغي من أعمالك إن شاء الله :
    Regular-Expressions.info - Regex Tutorial, Examples and Reference - Regexp Patterns

    أما بخصوص الملل والتعب ، فلا تقلقي أنا لا أشعر بالملل أو التعب من البرمجة ، وإنما من بعض المؤثرات الخارجية ، فالبرمجة هي لعبتنا التي نتسلى بها ونروح عن أنفسنا كذلك بها ..

    لذلك لا عليك من تلك العبارة واعتبري أني لم أقلها ، أعتذر لذلك ..

    في انتظار التطورات إن شاء الله ..

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  15. #30
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    صبر جميل والله المستعان

    سأتوقف ليومين وأعود من جديد بإذن الله تعالى .





    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .





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

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

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