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

الموضوع: فزعتكم في زرع الكوكيز للضرورة.

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

    فزعتكم في زرع الكوكيز للضرورة.



    حاولت مئات المرات وما زبطت.
    ساعدونا يرحم والديكم

    اريد زرع كوكيز في كل مرة يضغط العضو على اختيار اللغة.
    عربي او انكليزي
    وهذه طريقتي:

    <?php
    ob_start();
    session_start();
    $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');
    if ($action=='lan'){
    $lango =$_GET['lango'];
    setcookie( "lango", $lango, time()+9999999, "/", "", 0 );
    $action='n';
    header("Location:test.php");
    } //action

    $lango =$_COOKIE['lango'];

    echo $lango;
    echo '<br>';

    ?>
    <a href="test.php?lango=ar&action=lan"><font color=red>عربي</font></a>
    <a href="test.php?lango=en&action=lan"><font color=red>English</font></a>





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    291


    تفضل
    كود PHP:
    <?php
    $lango 
    = ($_GET['lango']) ? trim($_GET['lango']) : '';
    $langs = array('ar','en');

    if (
    in_array($lango$langs)) {
        
    setcookie ('lango'$langotime()+9999999,'/');
    }
    ?>
    شرح بسيط للكود
    في البداية أنت تستقبل متغير $lango من مصفوفة $_GET
    فإذا لم يكن العضو ضغط على رابط تغيير اللغة بيكون المتغير $lango فارغ بلا قيمة

    بعدها تنشأ مصفوفة $langs تضع بها كل اللغات المدعومة لديك
    و بعدها تتحقق .. إن كان المتغير $lango يحمل قيمة تنتمي لمصفوفة اللغات المدعومة بيتم زراعة الكوكيز بهذه اللغة أو القيمة

    ملحوظة : موضوعك مناسب أكثر في قسم الـ php





    التعديل الأخير تم بواسطة Colombo ; 14-10-2011 الساعة 10:33 PM
    __________________
    شركة إعلانية عربية
    Adaraby.Com
    خبرة و مصداقية و تميز

    متوفرة فتحات إجبارية - بنرات

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


    مشكور أخ Colombo جدا على الرد والمساعدة.

    جربت الطريقة, لكنها لم تعمل.
    ربما لاني انفذها على لوكال سيرفر؟

    أم هناك حطأ ما؟

    <?php
    $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');
    if ($action=='lan'){
    $lango = ($_GET['lango']) ? trim($_GET['lango']) : '';
    $langs = array('ar','en');

    if (in_array($lango, $langs)) {
    setcookie ('lango', $lango, time()+9999999,'/');
    }

    }

    $lango =$_COOKIE['lango'];
    echo $lango;
    echo '<br>';

    ?>
    <a href="test.php?lango=ar&action=lan"><font color=red>عربي</font></a>
    <a href="test.php?lango=en&action=lan"><font color=red>English</font></a>

    والخطأ هو:
    Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\test.php:1) in C:\AppServ\www\test.php on line 8





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.

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


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





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.

  5. #5
    عضو فعال
    تاريخ التسجيل
    Apr 2010
    المشاركات
    1,095


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





    __________________
    قال صلى الله عليه وسلم : كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم)

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


    مشكور أخي الكريم hussein.shy
    والله الآن جربت الطريقة مرة اخرى, في اللوكال سيرفر والانترنت ولم تعمل.
    يبدو أن العطل من عندي في الكمبيوتر.
    رغم أني مغعل الكوكيز في الاكسبلورر.

    سننتظر من مرت عليه هكذا مشكلة.





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.

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


    اخي swa52 العطل مو من عندك ولا من المتصفح

    هذه هو الخطأ:

    Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\test.php:1) in C:\AppServ\www\test.php on line 8
    هذا يعني ان الصفحة المسماة ب test.php قامت بارسال شيئ للمتصفح أو ارسال هيدرز قبل ان تعمل دالة ارسال الكوكيز

    تأكد من انك قد وضعت الكود بدون مسافات أو سطور قبل <?php





    __________________
    اللهم أعز الاسلام و المسلمين

  8. #8
    عضو فعال
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,897


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





    __________________
    راسلني

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


    يا اخوان

    جربت ذها الكود من المانوال واعطى نفس الخطأ:

    <?php
    ob_start();
    $MaxCount = 4;// set the max of the counter, in my tests "4" = (0,1,2,3) I adjusted below (+1) to get a "real" 4 (0,1,2,3,4) this is in reality 5 keys to humans, you can adjust script to eliminate "0", but my script makes use of the "0"

    $random =(rand()%($MaxCount+1));//give me a random number limited by the max, adding "1" because computers start counting at "0"

    if(!isset($_COOKIE['random'])){// check if random number cookie is not set
    //echo"not set";
    setcookie('random', $random);//set the cookie for the first time
    }else{
    $lastRandom= $_COOKIE['random']; //hold the last number if it was set before
    if($lastRandom == $random){//some logic to avoid repeats
    if($random < $MaxCount){//if below max, add 1
    $random++;
    //echo "under the max, adding 1, ";
    }elseif($random >= ($MaxCount-1)){// if for some reason the random number is more than max or equal to it -1, and an additional -1 for max count in initial var (so in reality this -1 from intial max var, and -1 from $random which should be the same number)
    $random--;
    //echo "hit the max, subtracting 1, ";
    }else{
    $random++;
    //echo "no case match, adding 1, ";
    }
    //echo "(".$lastRandom.", ".$random. "), they matched initally - was it fixed?";
    }else{
    //echo "(".$lastRandom.", ".$random. "), they DO NOT match";
    setcookie('random', $random);
    }
    //echo"is set: {$_COOKIE['random']}";
    }

    ob_end_flush();

    ?>
    Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\test.php:1) in C:\AppServ\www\test.php on line 9





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.

  10. #10
    عضو فعال
    تاريخ التسجيل
    Apr 2010
    المشاركات
    1,095


    اولا انت استخدمت cookies اذا session_start(); ليس لها فائدة لانك لم تستخدمها
    ثانيا جرب افتح برنامج المفكرة notepad واضف الكود في المشاركة الاولى لك ولاتترك اي فراغ في بداية الملف ثم احفظ الملف مثلا go.php
    وجرب افتح الصفحة علي اكثر من متصفح وامسح الكوكيز اذا لم يعمل معك





    __________________
    قال صلى الله عليه وسلم : كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم)

  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    695


    مشكور أخي hussein.shy على المساعدة.
    مع العلم ان سابقا كان الكود شغال
    وفعلت كما قلت أعلاه, لكن ذات المشكلة.

    <?php
    $action=(isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');
    if ($action=='lan'){
    $laa =$_GET['laa'];
    setcookie("laa",$laa,time()+9999999,"/","",0);
    } //action
    $laax=$_COOKIE['laa'];
    echo $laax;
    ?>
    <a href="go.php?laa=ar&action=lan">عربي</a>
    <a href="go.php?laa=en&action=lan">English</a>





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.





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

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

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