Bazı insanlar, aşağıdaki kod HTML doğrulama için kötü olduğunu söylediler:
index.php:
hat ~ 5 1 (bu bir sorun yok Sadece referans için.):
<?php include_once 'localization.php'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
15 hattı (Çin bu CSS dosyalarını yük seçilirse):
<?php if($lang_file=='lang.zh-tw.php' || $lang_file=='lang.zh-cn.php')
{echo '<link rel="stylesheet" type="text/css" href="styles/chinese.css" />';} ?>
line 21 (İngilizce geçerli dil değişikliği kendisine atamak ise sınıfı: akım):
<li <?php if($lang_file=='lang.en.php') {echo 'class="current"';} ?>>
<a href="index.php?lang=en">ENGLISH</a></li>
hat 168 ~ 171 (bu ben jquery doğrulama eklentisi farklı dilleri eklemek için bulunan tek yoldur):
<?php if($lang_file=='lang.en.php') {echo '<script type="text/javascript" src="scripts/jquery-validate/val-en.js"></script>';} ?>
<?php if($lang_file=='lang.es.php') {echo '<script type="text/javascript" src="scripts/jquery-validate/val-es.js"></script>';} ?>
<?php if($lang_file=='lang.zh-tw.php') {echo '<script type="text/javascript" src="scripts/jquery-validate/val-zh-tw.js"></script>';} ?>
<?php if($lang_file=='lang.zh-cn.php') {echo '<script type="text/javascript" src="scripts/jquery-validate/val-zh-cn.js"></script>';} ?>
lozalization.php (sadece referans için):
<?php
session_start();
header('Cache-control: private'); // IE 6 FIX
if(isSet($_GET['lang'])) {
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang'])) {
$lang = $_COOKIE['lang'];
}
else {
$lang = 'en';
}
// use appropiate lang.xx.php file according to the value of the $lang
$languages = array('en', 'es', 'zh-tw', 'zh-cn');
if (in_array($_SESSION['lang'], $languages)) {
$lang_file = 'lang.'.$_SESSION['lang'].'.php';
} else {
$lang_file = 'lang.en.php';
}
//localization helper function
function l($localization) {
global $lang;
return $lang[$localization];
}
include_once 'languages/'.$lang_file;
?>
Ben kötü uygulamalar veya Doğrulama sorunlarına içine düşüyorum? Kod çalışır, ama daha temiz ve daha iyi bir şekilde yukarıdaki şeyler yapmanın bir yolu var mı?