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

الموضوع: مشكله في استخدام القوالب مع الجافا سكربت

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

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



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

    انا استخدمت القوالب في سكربت ... وطريقة القوالب انه يستبدل الـ " بالـ'
    فلما استخدمت بالقالب جافا سكربت طلعت لي مشكله
    لأنه الجافا سكربت يستخدم الـ'


    وللتوضيح اكثر .. هذا المثال

    هذا ملف الـphp

    كود PHP:
    $file_template_name "header.html";
    $fd fopen ($file_template_name"r");

    $head fread ($fdfilesize ($file_template_name));

    fclose ($fd);

    $head str_replace(array('"'),array("'"),$head);


    eval (
    "\$head = \"$head\";"); 
    وملف القالب ... header.html

    كود HTML:
    <html dir="rtl">
    
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
    <title>مثال</title>
    
    <script language="JavaScript">
    
    // 3NKBOTY MESSENGER CODE
    function findObj(n, d) {
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
      d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i>d.layers.length;i++) x=findObj(n,d.layers[i].document);
      if(!x && document.getElementById) x=document.getElementById(n); return x;
    }
    function messengerE2()
    {
            var c = findObj('messenger');
            if (!c)
                    return false;
            if (c.style)
                    c = c.style;
            if (window.innerHeight)
                    ih = window.innerHeight;
            else
                    ih = document.body.clientHeight;
            if (window.innerWidth)
                    iw = window.innerWidth;
            else
                    iw = document.body.clientWidth;
            if (document.all && !window.innerWidth) {
    
    // التحكم في مكان البنر
                    c.pixelLeft = 106 + document.body.scrollLeft - 106;
                    c.pixelTop = 180 + document.body.scrollTop;
            } else {
                    c.left = iw + window.pageXOffset - 106 - 16;
                    c.top = 0 + window.pageYOffset;
            }
            c.visibility = messengerE1;
    }
    function messengerC(what)
    {
            var c = findObj('messenger');
            if (!c)
                    return false;
            if (c.style)
                    c = c.style;
            switch(what)
            {
                    case 'close':
                            messengerE1 = 'hidden';
                            messengerE2();
                            window.clearInterval(messengerE);
                            break;
                    case 'open':
                            messengerE1 = 'visible';
    
                            messengerE = window.setInterval('messengerE2()', 50);
                            return window.setTimeout('messengerC(\'close\')', 40000000);
                            break;
            }
    }
    
    messengerC('open');
    
    // END //
    
                          </script>
    
    </head>
    
    <body>
    لاحظوا بأن بأكواد الجافا سكربت ... يستخدم علامتين التنصيص " '
    وهذي سببت مشكله بعمل القالب
    شغلوا السكربت .. وراح تلاحظون بأن الجافا سكربت ماراح تشتغل :con2:

    ويعطيكم العافيه

    تحياتي
    أحمد الشمـــري
    Srad_Q8@hotmail.com





    __________________
    راسلني


  2. #2


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

    في البداية اخوي جملة eval لدي تصحيح لها ، هي طبعاً صحيحة لكن اقتراح هو :

    كود PHP:
    eval('$head = "'$head .'";'); 
    وقبلها عليك استبدال بعض الإشارات لحظات وأجيب لك الكود :

    تفضل :
    كود PHP:
    $head addslashes($head);
    $head str_replace("\\'""'"$head);
    $head str_replace('\\"'"'",$head); 
    وأي سؤال او خلل احنا جاهزين ان شاء الله
    تحياتي





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074

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


    الله يعطيك العافيه sBForum

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

    انا ودي بحل اني اقدر احط علامتين مثل " و ' .. أو ' و \"

    وبإنتظار الردود

    تحياتي
    أحمد الشمـــري





    __________________
    راسلني

  4. #4


    الله يعافيك

    ما في داعي أكتب شي هنا الآن لاني بكلمك الآن عالماسنجر





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    669


    للحين مالقينى حل

    الرجـــاء المساعده ... واذا مافي حل .. يليتكم تطرحون حل بديل

    ومشكووورين على كل حال

    تحياتي
    أحمد الشمـــري





    __________________
    راسلني



  6. الضاهر المشكلة ليست في الPHP المشكلة في الJavaScrip نفسها

    حاول ان تضهر كل شيء في ملف header.html مثل ماهو بدون ان تعمل لة اي شيء بالPHP

    فقط فم باضافة الكود التالي في ملف الheader.html

    كود PHP:
    if (window.attachEvent)
    window.attachEvent("onload"messengerC('open')); else window.onload=messengerC('open'); 
    بدلاً من السطر
    messengerC('open');

    s- حاول .. ممكن تنجح العملية





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Oct 2005
    المشاركات
    115


    السلام عليكم

    لدي استفسار

    لاحظت استخدام هالطريقة شائع
    كود:
    $file_template_name = "header.html"; 
    $fd = fopen ($file_template_name, "r"); 
    
    $head = fread ($fd, filesize ($file_template_name)); 
    
    fclose ($fd); 
    
    $head = str_replace(array('"'),array("'"),$head); 
    
    
    eval ("\$head = \"$head\";");

    طيب ليش ما بتستخدموا
    كود:
    include("head.php");
    شو الفرق بين الطريقتين و المميزات ؟؟

    وفقكم الله








  8. الفرق في الناتج نفسة ...
    ولكن الاولى .. ابطء من الثانية ..
    الاولى لا تهتم بما هو موجود في الملف
    الثاني يتعامل مع الملف وكانة ملف PHP اخر ..

    ايوة Fox Mind ليش ما استخدمت ()include او ()require مرررررة طلعت عن بالي .. بس شكلك ممكن تقولي لانك تريد للJavaScript ان يعمل مع EVAL ؟ ولكن هي ستكون في بداية الHTML فمالة داعي اذا وضعتة في الfopen





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو





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

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

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