Php ve Mysql Kullanarak Çoklu Dil Sistemi Oluşturmak

Php ve Mysql kullanaran basit çoklu dil oluşturmadan bahsedicem şimdi sizlere.
Örnekleri ve kodları vereceğim tabi sizde uygulayabilirsiniz ve geiştirebilirsiniz. temel olarak anlatım yapıyorum gerisi size kalmış. istediğiniz gibi modifiye edebilirsiniz.
Şimdi bu sistemi oluştururken birtakım dosyalar gerek bize onları oluşturucaz önce onların isimlerini verelim.
Bize gerekli olacak dosyalar
index.php ( anasayfamız )
language.php ( dil dosyamız )
data.php ( veritabanı dosyamız )
Şimdi :
data.php
session_start(); // session baslatiyoruz.
$dbhost     = “localhost”; // sunucumuz
$dbuser     = “root”;  // kullanici adimiz
$dbpass        = “123456”; // sifremiz
$dbdata        = “dilsistemi”; // db adi
$prefix        = “dilsistemi_”; // prefix
if (!@mysql_connect($dbhost, $dbuser, $dbpass)) {
die(“Veritabanına bağlanılamadı…<br>HATA: “.mysql_error());
}
if (!@mysql_select_db($dbdata)) {
die(“Veritabanı seçilemedi<br>HATA: “.mysql_error());
}
include “language.php”; // dil dosyasini cariyoruz.
————–
Şimdi sıra dil dosyamızda
language.php
<?php
$secili_dil = $_SESSION[‘benimdilim’]; // session kayiti olusturuyoruz
if    ($secili_dil == “”)    {
// dil secilmeden sitede geziniliyorsa otomatik olarak varsayilan dili atiyacak.. 🙂
$secili_dil = $_SESSION[‘benimdilim’] = 1;
}else{
// mysql sorgusu sayesinde veri tabanindan atanacak verileri cekiyoruz.
$sorgu = mysql_query(“select * from “.$prefix.”diller where id = ‘”.$secili_dil.”‘”);
$row = mysql_fetch_assoc($sorgu);
define(‘DIL_MENU_ANASAYFA’,    $row[“menu_anasayfa”]);
define(‘DIL_MENU_VIDEO’,    $row[“menu_videogaleri”]);
define(‘DIL_MENU_RESIM’,    $row[“menu_resimgaleri”]);
define(‘DIL_MENU_DOWNLOAD’,    $row[“menu_download”]);
define(‘DIL_MENU_PANEL’,    $row[“menu_panel”]);
define(‘DIL_MENU_HAKKINDA’,    $row[“menu_hakkinda”]);
define(‘DIL_MENU_ILETISIM’,    $row[“menu_iletisim”]);
}
?>
——————————
Şimdide ana sayfamızı yazıyoruz.
index.php
<?php
include “data.php”;
echo “<div class=’bolum’> <!– BASLANGIC–>
<div id=’header’>
<ul class=’logo’></ul>
<ul class=’top-nav’>
<li><a href=’index.php?sayfa=index’>”.DIL_MENU_ANASAYFA.”</a></li>
<li><a href=’index.php?sayfa=videoGaleri’>”.DIL_MENU_VIDEO.”</a></li>
<li><a href=’index.php?sayfa=resimGaleri’>”.DIL_MENU_RESIM.”</a></li>
<li><a href=’index.php?sayfa=download’>”.DIL_MENU_DOWNLOAD.”</a></li>
<li><a href=’#’ “.DIL_MENU_PANEL.”</a></li>
<li><a href=’index.php?sayfa=hakkinda’>”.DIL_MENU_HAKKINDA.”</a></li>
<li><a href=’index.php?sayfa=iletisim’>”.DIL_MENU_ILETISIM.”</a></li>
</ul>
</div>
</div> <!– BITIS –>”;?>
—————-
Veeee son olarakta Mysql kodlarını verelim ve bitirelim.

-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Machine: localhost
-- Genereertijd: 22 Apr 2010 om 03:15
-- Serverversie: 5.1.41
-- PHP-Versie: 5.3.1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `dilsistemi`
--
-- --------------------------------------------------------
--
-- Tabelstructuur voor tabel `dilsistemi_diller`
--
CREATE TABLE IF NOT EXISTS `dilsistemi_diller` (
  `id` mediumint(20) NOT NULL AUTO_INCREMENT,
  `menu_anasayfa` varchar(255) NOT NULL,
  `menu_videogaleri` varchar(255) NOT NULL,
  `menu_resimgaleri` varchar(255) NOT NULL,
  `menu_download` varchar(255) NOT NULL,
  `menu_panel` varchar(255) NOT NULL,
  `menu_hakkinda` varchar(255) NOT NULL,
  `menu_iletisim` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Gegevens worden uitgevoerd voor tabel `dilsistemi_diller`
--
INSERT INTO `dilsistemi_diller` (`id`, `menu_anasayfa`, `menu_videogaleri`, `menu_resimgaleri`, `menu_download`, `menu_panel`, `menu_hakkinda`, `menu_iletisim`) VALUES
(1, 'Ana Sayfa', 'Video Galeri', 'Resim Galeri', 'Download', 'Kullanici P.', 'Hakkinda', 'Iletisim'),
(2, 'ing1', 'ing2', 'ing3', 'ing4', 'ing5', 'ing6', 'ing7');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Evet güle güle kullanın yeni yazılarda görüşmek dileğiyle :)
1 Yorum var
  1. istoc

    açıklama güzel olmuş ama kod tırnaklarında bazı sorunlar var sanırım

Cevap Gönder

E-posta adresiniz yorumunuzda yayınlanmayacaktır.