نوشته شده توسط
erfansaberi
سلام
خیلی متشکرم از راهنماییتون
راه پیشنهادیتون جواب داد
به نکته خوبی اشاره کردید،
به این کد توجه کنید
<?php
if (isset($_COOKIE["translations"])){
$translations = $_COOKIE['translations'];
} else {
$translations = "translations";
}
?>
منظورتون همینه دیگه؟
خیر منظورم اینه نباید به دادههای دریافتی از سمت کلاینت اعتماد کنید. مثلا کاربر بیاد دستی مقدار کوکی را تغییر بدهد و چیزی غیر از مقادیر مورد انتظار شما english یا persian درج کند. بنابراین شما باید مقدار کوکی را بررسی کنید که حتما یکی از این دو مقدار باشد.
چون دو تا بیشتر نیست همین یک خط کفایت می کند:
$translation = $_COOKIE['lang']=='english' ? 'english':'persian';
برای تعداد بیشتر میتوانید مقادیر مجاز را در یک آرایه بریزید و از دستور in_array استفاده کنید:
$langs = ['persian', 'english'];
$translation = in_array($_COOKIE['lang'], $langs) ? $_COOKIE['lang'] : 'english';//default value