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

الموضوع: سؤال قد يكون ليس له جواب

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    180

    سؤال قد يكون ليس له جواب



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

    هل بإمكان لغة php أن تجعلني أعرف متغير خارج دالة ثم استخدمه من داخل الدالة بدون تمريره عقيمة من قيمها

    مثال

    كود PHP:

    $message 
    "allah";
    find_str(); 
    هل يمكنني أن أطبع قيمة المتغير $message من داخل الدالة find_str
    بدون أن أمرره لها كقيمة

    وإن كان لا يمكن قولوا لي ولا تتركوني معلق

    وفق الله الجميع

    محبكم : قاصد





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    قاصد غير متواجد حالياً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Apr 2003
    المشاركات
    283


    تستطيع بتصريح المتغير بستخدام global

    مثال

    كود PHP:
    <?php
    $name 
    "rafia";
    function 
    print_name()
    {
        global 
    $name;
        echo 
    " <h1>$name</h1>";
    }
    print_name();
    ?>

    دروس مفيدة
    http://www.rafiaphp.com/news.php?action=view&id=16

    http://www.rafiaphp.com/news.php?action=view&id=22





    __________________
    مجموعة بي اتش بي العربية www.php4arab.org
    البوابة العربية www.arabportal.net
    rafia غير متواجد حالياً

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    180


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

    أخي الحبيب : rafia
    حياك الله
    جزاك الله خير ووفقك , هذه الطريقة لم تخفى علي ولكني لا أريد كل مابغيت أخلي النكشن تتعرف على متغير لازم أعرفه بداخلها وهذى يقلل من مرونة برنامج
    أما في c++ أظن أن الفنكشن تأخذ المتغير من الmain حتى لو لم يتعرف global أما الPHP فلا وذلك لأنهم يقولون بأن هذا الإجراء يقلل من عدد الأخطاء المتوقعة بالنسبة لc++
    ولكني قد فعلت طريقة غريبة شوي
    وهي أني وضعت في الدالة استدعاؤ لملف اسمه var.php
    كود PHP:
    <?php

    function print_name()
    {
    require (
    "var.php");
    echo 
    " <h1>$name</h1>";
    }
    print_name();
    ?>
    والملف الآخر باسم var.php وبه التالي

    كود PHP:
        global $name,$id,$ggg
    ولكن تبقى الطريقة ليست كما أتمنى

    وفقك الله

    محبك : قاصد





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    قاصد غير متواجد حالياً

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Apr 2003
    المشاركات
    283


    اخي الله يجزاك خير
    انت تزيد في تعقيد الامور بهذه الصورة

    اولا هل من الممكن اعرف الهدف يمكن يقدرني الله واعمل شيء

    ثانيا هل جربت الكائنات Object ولم تقضي غرضك ؟





    __________________
    مجموعة بي اتش بي العربية www.php4arab.org
    البوابة العربية www.arabportal.net
    rafia غير متواجد حالياً

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


    بالإمكان ذلك باستخدام مصفوفة GLOBALS$ كما في المثال التالي:

    كود PHP:
    $GLOBALS['message'] = "allah";
    say_msg();   


    function 
    say_msg() {
      echo 
    $GLOBALS['message'];

    كما بإمكانك أيضاً استخدام extract لتحويل محتويات GLOBALS إلى متغيرات، مثال:

    كود PHP:
    $GLOBALS['message'] = "allah";
    say_msg();   


    function 
    say_msg() {
      
    extract $GLOBALS;
      echo 
    $message;







    __________________
    visualmind (at) php.net
    أعتذر كثيراً عن غيابي من المشاركات والذي لن يطول أكثر إن شاء الله.
    VisualMind غير متواجد حالياً

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Apr 2003
    المشاركات
    283


    جابها لك الاستاذ صلاح

    لكن ما اضن فيه حاجة لستخدام extract
    لان العملية تصريح المتغير داخل الدالة

    ويصبح المثال بهذه الصورة

    كود PHP:
    <?php
    $message 
    "allah";
    say_msg();
    function 
    say_msg() {
      echo 
    $GLOBALS['message'];
    }
    ?>
    ويعمل مع
    register_globals=Off
    register_globals=On





    __________________
    مجموعة بي اتش بي العربية www.php4arab.org
    البوابة العربية www.arabportal.net
    rafia غير متواجد حالياً

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    180


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

    إخواني بارك الله فيكم

    ما قصرتوا

    أخي rafia
    بارك الله فيك لم أستخدم الكائنات والغرض من العمليه كلها هو أني بدأت في مشروع عمل منتدى وأنا الآن أعمل نظام قوالب templates
    عن طريق قواعد البيانات وأحتاج أن أعرف المتغير حتى إذا استدعيت الدالة التي تعرض التمبلت فإنها تتعرف على جميع المتغيرات التي بداخلها

    أخي : VisualMind
    بارك الله فيك يا أخي كيف أعرف أكثر من متغير بنفس الطريقة هذه ويبدوا أن هذه هي الطريقة المناسبة جدا
    زادك الله علما ونفع بك
    وأنا أريد استخدام extract يا أخي rafia لأني سأجعل مدير المنتدى يتحكم في التمبلت فيغير في المتغيرات التي بهذه الصيغة $var ولن يكتب $GLOBALS['var'];
    أرجو أن يكون كلامي واضح لكم

    وفقكم الله لكلك مايحب ويرضى

    وجزاكم الله خير

    محبكم : قاصد





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    قاصد غير متواجد حالياً

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Apr 2003
    المشاركات
    283


    جميلة جدا الفكرة

    وحلها مثل ما قال الاخ صلاح

    بتوفيق وان شاء الله يخرج المنتدى قريبا الى النور





    __________________
    مجموعة بي اتش بي العربية www.php4arab.org
    البوابة العربية www.arabportal.net
    rafia غير متواجد حالياً

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    180


    أخي VisualMind
    جميل البرنامج
    وللتذكير فإن extract $GLOBALS;
    هي هكذا extract ($GLOBALS);
    وليست هكذا extract $GLOBALS;
    يعني فيه قوسين سقطت سهوا


    أخي : rafia
    أشكرك ولكن كيف يمكن تعريف أكثر من متغير بطريقة $globals


    شكرا للجميع

    محبكم : قاصد





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    قاصد غير متواجد حالياً

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    180


    بسم الله الرحمن الرحيم
    لقد عدت
    عرفت كيف يمكن تعريف أكثر من متغير وذلك بكتابة نفس الجملة مع تغيير المتغير

    شكرا للجميع

    محبكم قاصد





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    قاصد غير متواجد حالياً





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

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

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