كيف أقوم بتعيين ملف تعريف الارتباط على المضيف المحلي باستخدام MAMP + MacOSx + PHP؟

StackOverflow https://stackoverflow.com/questions/631819

  •  08-07-2019
  •  | 
  •  

سؤال

أقوم بالتطوير على كمبيوتر Mac الدفتري الخاص بي، وأستخدم MAMP.أحاول تعيين ملف تعريف الارتباط باستخدام PHP، ولا أستطيع.لقد تركت المجال، وحاولت استخدام "\" للمجال.لا حظ.

setcookie("username", "George", false, "/", false);
setcookie("name","Joe");

يبدو انني افتقد شي بشكل واضح.أحتاج إلى حل سريع وبسيط لهذا.هناك واحد؟

أنا لا أفعل أي شيء خيالي، ما عليك سوى تحميل الصفحة (عبر MAMP)،http://localhost:8888/MAMP/lynn/setcookie.php

يحتوي هذا البرنامج النصي على رمز setcookie في الأعلى، حتى قبل كتابة علامات HTML.(على الرغم من أنني جربته في الجسم أيضًا).أقوم بتحميل الصفحة في متصفحات مختلفة، ثم أفتح قائمة ملفات تعريف الارتباط.أعلم أن المتصفحات تقبل ملفات تعريف الارتباط، لأنني أرى الملفات الحالية في القائمة.ليس فقط بلدي الجديد.

هل كانت مفيدة؟

المحلول

من المستندات:

يحدد setcookie() ملف تعريف الارتباط ليتم إرساله مع بقية رؤوس HTTP.مثل الرؤوس الأخرى، يجب إرسال ملفات تعريف الارتباط قبل أي إخراج من البرنامج النصي الخاص بك (هذا تقييد للبروتوكول).يتطلب هذا إجراء استدعاءات لهذه الوظيفة قبل أي إخراج، بما في ذلك العلامات بالإضافة إلى أي مسافة بيضاء.

هل هاذا هو؟

يحرر:

هل يمكنك رؤية ملف تعريف الارتباط الذي يتم إرساله بواسطة الخادم، على سبيل المثال؟باستخدام امتداد فايرفوكس عبث البيانات, ، أو التلنت؟هل يمكنك أن ترى أنه يتم إعادته بواسطة المتصفح عند الطلب التالي؟ما هي القيمة المرجعة لـ setcookie()؟هل لا يعمل في جميع المتصفحات أم في بعضها فقط؟

نصائح أخرى

<?php
ob_start();
if (isset($_COOKIE['test'])) {
    echo 'cookie is fine<br>';
    print_r($_COOKIE);
} else {
    setcookie('test', 'cookie test content', time()+3600);  /* expire in 1 hour */
    echo 'Trying to set cookie. Reload page plz';    
}

وجرب هذا.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top