Hocam burdaki sistemi kullandım yalnız şu sorunu çözemedim:
"Notice: Undefined index: dil in D:laragonwwwindex.php on line 6"
6. satır:
if (!$_SESSION["dil"]){Eğer siteye ilk ziyaretse ve özellikle dil seçilmemişse, bir session oluşmadığı için bu hatayı alıyorum. Dil seçimi yapıp belirledikten sonra düzeliyor.
Bunu nasıl düzeltebilirim?
If ifadesini şu şekilde değiştirebilirsiniz:
if ( !isset($_SESSION["dil"]) && empty($_SESSION["dil"]) ){
Lakin, bu işlemi session mantığıyla yapmanızı önermem.
Direkt olarak gelen kullanıcının dilini backend tarafında işlenip ona göre işlem yapmanızı öneririm.
Şu şekilde yapabilirsiniz, ufak bir örnek:
<?php
DEFINE("LANGUAGE_DIR", "languages");
DEFINE("DEFAULT_LANGUAGE_FILE", "tr.php");
$user_language = substr(Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']), 0, 2);
$language_file = LANGUAGE_DIR.DIRECTORY_SEPARATOR.$user_language.'.php';
if( isset ( $user_language ) && file_exists( $language_file ) ) {
require $language_file;
} else {
require LANGUAGE_DIR.DIRECTORY_SEPARATOR.DEFAULT_LANGUAGE_FILE;
}Kalan kısımlarıysa aynı mantıkla devam ettirebilirsiniz.