Basit Tema Sistemi

PHP
62 lines
<?php
class template
{
private $file = NULL; // -- Load File
private $content = NULL; // -- File Loaded
private $tags = array(); // -- Tags Added
private $count = 0; // -- Loop of Tags
public function fread($archive)
{
$this->file = @fopen($archive, "r");
$this->content = @fread($this->file, filesize($archive));
if(!$this->file) exit("Error open: {$archive}");
if(!$this->content) exit("Error read: {$archive}");
}
public function set($name, $value)
{
$this->tags[$this->count++] = array("name" => $name, "value" => $value);
}
public function show()
{
foreach($this->tags as $tags)
$this->content = str_replace("{".$tags['name']."}", $tags['value'], $this->content);
eval("?>".$this->content."<?");
}
}
define("TITLE", "Ben Sayfa Başlığıyım"); // -- Page Title
$veri="ben bir sayfa içeriğiyim";
$template = new template(); // -- Load Class
$template->set("TITLE", TITLE); // -- Add the tag {TITLE}
$template->set("ICERIK", $veri); // -- Add the tag {ICERIK}
switch($_GET["page"])
{
case "home" :
$template->fread("template/index.tpl.php"); // -- Load the index.tpl.php
break;
default :
$template->fread("template/index.tpl.php"); // -- Load the index.tpl.php
break;
}
$template->show(); // -- Show template
//alttaki html kodlarını template/index.tpl.php dosyası oluşturarak içine yazınız
/*
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{TITLE}</title>
</head>
<body>
{CONTENT}
</body>
</html>
*/
// çalıştırmak için localhost/index.php?page=home tarzı case e göre
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Aşk Ölçer

PHP
49 lines
<?php
error_reporting(4);
class lovecalc {
function lovecalc ($firstname, $secondname) {
$this->lovename = strtolower(preg_replace("/ /","",strip_tags(trim($firstname.$secondname))));
$alp = count_chars($this->lovename);
for($i=97;$i<=122;$i++){
if($alp[$i]!=false){
$anz = strlen($alp[$i]);
if($anz<2){ $calc[] = $alp[$i]; }
else{ for($a=0;$a<$anz;$a++){ $calc[] = substr($alp[$i],$a,1); } }
}
}
while (($anzletter = count($calc))>2) {
$lettermitte = ceil($anzletter/2);
for($i=0;$i<$lettermitte;$i++){
$sum = array_shift($calc)+array_shift($calc);
$anz = strlen($sum);
if($anz<2){ $calcmore[] = $sum; }
else{ for($a=0;$a<$anz;$a++){ $calcmore[] = substr($sum,$a,1); } }
}
$anzc = count($calcmore);
for($b=0;$b<$anzc;$b++){ $calc[] = $calcmore[$b]; }
array_splice($calcmore,0);
}
$this->lovestat = $calc[0].$calc[1];
}
function showlove () {
return "Mevcut Sevgi : %$this->lovestat";
}
}
//örnek kullanım
?>
<html>
<body>
<form action="" method="get">
Sen<input type="text" name="you" value="<?php echo @$_GET['you']; ?>"/>
Ben<input type="text" name="me" value="<?php echo @$_GET['me']; ?>"/>
<input type="submit" name="send" value="Hesapla"/>
</form>
</body>
</html>
<?php
$my_love = new lovecalc(@$_GET['you'],@$_GET['me']);
echo $my_love->showlove();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Kredi Kartı Tanıma

PHP
228 lines
<?php
error_reporting(4);
if(!defined(PHP_CREDITCARD_CLASS))
{
define(PHP_CREDITCARD_CLASS, 1);
define(UNKNOWN, 0);
define(MASTERCARD, 1);
define(VISA, 2);
define(AMEX, 3);
define(DINNERS, 4);
define(DISCOVER, 5);
define(ENROUTE, 6);
define(JCB, 7);
define(CC_OK, 0);
define(CC_ECALL, 1);
define(CC_EARG, 2);
define(CC_ETYPE, 3);
define(CC_ENUMBER, 4);
define(CC_EFORMAT, 5);
define(CC_ECANTYPE, 6);
class creditcard
{
var $number;
var $type;
var $errno;
function creditcard()
{
$this->number = 0;
$this->type = UNKNOWN;
$this->errno = CC_OK;
}
function check($cardnum)
{
$this->number = $this->_strtonum($cardnum);
if(!$this->detectType($this->number))
{
$this->errno = CC_ETYPE;
return false;
}
if($this->mod10($this->number))
{
$this->errno = CC_ENUMBER;
return false;
}
return true;
}
function detectType($cardnum = 0)
{
if($cardnum)
$this->number = $this->_strtonum($cardnum);
if(!$this->number)
{
$this->errno = CC_ECALL;
return UNKNOWN;
}
if(preg_match("/^5[1-5]d{14}$/", $this->number))
$this->type = MASTERCARD;
else if(preg_match("/^4(d{12}|d{15})$/", $this->number))
$this->type = VISA;
else if(preg_match("/^3[47]d{13}$/", $this->number))
$this->type = AMEX;
else if(preg_match("/^[300-305]d{11}$/", $this->number) ||
preg_match("/^3[68]d{12}$/", $this->number))
$this->type = DINNERS;
else if(preg_match("/^6011d{12}$/", $this->number))
$this->type = DISCOVER;
else if(preg_match("/^2(014|149)d{11}$/", $this->number))
$this->type = ENROUTE;
else if(preg_match("/^3d{15}$/", $this->number) ||
preg_match("/^(2131|1800)d{11}$/", $this->number))
$this->type = JCB;
if(!$this->type)
{
$this->errno = CC_ECANTYPE;
return UNKNOWN;
}
return $this->type;
}
function detectTypeString($cardnum = 0)
{
if(!$cardnum)
{
if(!$this->type)
$this->errno = CC_EARG;
}
else
$this->type = $this->detectType($cardnum);
if(!$this->type)
{
$this->errno = CC_ETYPE;
return NULL;
}
switch($this->type)
{
case MASTERCARD:
return "MASTERCARD";
case VISA:
return "VISA";
case AMEX:
return "AMEX";
case DINNERS:
return "DINNERS";
case DISCOVER:
return "DISCOVER";
case ENROUTE:
return "ENROUTE";
case JCB:
return "JCB";
default:
$this->errno = CC_ECANTYPE;
return NULL;
}
}
function getCardNumber()
{
if(!$this->number)
{
$this->errno = CC_ECALL;
return 0;
}
return $this->number;
}
function errno()
{
return $this->errno;
}
function mod10($cardnum)
{
for($sum=0, $i=strlen($cardnum)-1; $i >= 0; $i--)
{
$sum += $cardnum[$i];
$doubdigit = "".(2 * $cardnum[--$i]);
for($j = strlen($doubdigit)-1; $j >= 0; $j--)
$sum += $doubdigit[$j];
}
return $sum % 10;
}
function resetCard()
{
$this->number = 0;
$this->type = 0;
}
function strError()
{
switch($this->errno)
{
case CC_ECALL:
return "Geçersiz Arama";
case CC_ETYPE:
return "Bilinmeyen Kart Tipi";
case CC_ENUMBER:
return "Geçersiz Kart Numarası";
case CC_EFORMAT:
return "Geçersiz Format";
case CC_ECANTYPE:
return "Kart tipi taranamadı";
case CC_OK:
return "Başarılı";
}
}
function _strtonum($string)
{
for($i=0; $i< strlen($string); $i++)
{
if(!is_numeric($string[$i]))
continue;
$nstr = "$nstr".$string[$i];
}
return $nstr;
}
}
}
//ÖRNEK
$cc = new creditcard;
$card=$_GET[card];
if($card)
{
printf("%s nolu kart %s <br>n", $card,
(($ccret = $cc->check($card))?" gecerli":"gecersiz"));
if($ccret)
{
printf("Kart Tipi: %s veya %d<br>n", $cc->detectTypeString(),
$cc->detectType());
printf("Kart Numarasi: %s<br>n", $cc->getCardNumber());
}
else
printf("%s<br>n", $cc->strError());
}
?>
<form action="" method=get>
<input type=text name=card size=20><p>
<input type=submit value="Hesapla">
</form>
</body>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Adresten zip yükleme ve dizine çıkartma

PHP
61 lines
<?php
class urluploader {
private $filename;
private $url;
private $unzipdir;
function __construct($fileurl,$dir=0)
{
if ($dir==0)
{ $this->unzipdir=getcwd() . "/"; }
else {$this->unzipdir=$dir . "/";}
$this->filename=$this->unzipdir . basename($fileurl);
$this->url=$fileurl;
}
public function uploadFromUrl ()
{
if(!filter_var($this->url, FILTER_VALIDATE_URL))
{die ("The provided url is invalid");}
$length=5120;
$handle=fopen($this->url,'rb') or die ('gecersiz adres ');
$write=fopen ( $this->filename,'w');
while ( !feof($handle))
{
$buffer=fread ( $handle,$length );
fwrite ( $write,$buffer);
}
fclose ( $handle);
fclose ($write);
echo "<br>basarili:" . basename($this->filename) . "<br>" ;
return true;
}
public function unzip($newdir=false,$delete=false,$filename=false)
{ if (!$filename){$filename=$this->filename;}
if(!$newdir){$newdir=$this->unzipdir;}
if (!file_exists($filename))
{die( 'bu dosya mevcut');}
if (class_exists('ZipArchive'))
{$zip = new ZipArchive;
if($zip->open($filename) !== TRUE)
{die('Unable to open the zip file'); }
$zip->extractTo($newdir) or die ('Unable to extract the file');
echo "<br>Extracted the zip file<br>";
$zip->close();
}
else
{
@shell_exec('unzip -d $newdir '. $this->filename);
echo "<br>Unzipped the file using shell command<br>";
}
If ($delete) {unlink($filename);
echo "<br>Deleting" . basename($filename);}
return true;
}
}
//örnek
$upload= new urluploader("http://localhost/test.zip");//upload linki
if($upload->uploadFromUrl())
{$upload->unzip();}
else {echo "basarisiz";}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Sorgu Sonucunu Excel’e Aktarmak

PHP
47 lines
<?PHP
error_reporting(4);
class ExportToExcel
{
function exportWithPage($php_page,$excel_file_name)
{
$this->setHeader($excel_file_name);
require_once "$php_page";
}
function setHeader($excel_file_name)
{
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=$excel_file_name");
header("Pragma: no-cache");
header("Expires: 0");
}
function exportWithQuery($qry,$excel_file_name,$conn)//to export with query
{
$tmprst=mysql_query($qry,$conn);
$header="<center><table border=1px><th>Tablo Dökümü</th>";
$num_field=mysql_num_fields($tmprst);
while($row=mysql_fetch_array($tmprst,MYSQL_BOTH))
{
$body.="<tr>";
for($i=0;$i<$num_field;$i++)
{
$body.="<td>".$row[$i]."</td>";
}
$body.="</tr>";
}
$this->setHeader($excel_file_name);
echo $header.$body."</table";
}
}
$conn=mysql_connect('localhost','root','')or die('bağlanmadı');
mysql_select_db('test');
//ÖRNEK
$exp=new ExportToExcel();
//$exp->exportWithPage("export_file.php","test.xls");
$qry="select * from qa_users";
$exp->exportWithQuery($qry,"test.xls",$conn);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Google Map Koordinat Bulucu

PHP
80 lines
<?php
if($_POST){
print_r($_POST);
exit;
}
?>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps JavaScript API v3 Example: Map Simple</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places"></script>
<script type="text/javascript">
var placeSearch,autocomplete;
var component_form = {
'street_number': 'short_name',
'route': 'long_name',
'locality': 'long_name',
'country': 'long_name',
'postal_code': 'short_name'
};
function initialize() {
autocomplete = new google.maps.places.Autocomplete(document.getElementById('autocomplete'), { types: [ 'geocode' ] });
google.maps.event.addListener(autocomplete, 'place_changed', function() {
fillInAddress();
});
}
function fillInAddress() {
var place = autocomplete.getPlace();
var lat = place.geometry.location.lat();
var lng = place.geometry.location.lng();
for (var component in component_form) {
document.getElementById(component).value = "";
document.getElementById(component).disabled = false;
document.getElementById("long").value = lng;
document.getElementById("lat").value = lat;
}
for (var j = 0; j < place.address_components.length; j++) {
var att = place.address_components[j].types[0];
if (component_form[att]) {
var val = place.address_components[j][component_form[att]];
document.getElementById(att).value = val;
}
}
}
function geolocate() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var geolocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
autocomplete.setBounds(new google.maps.LatLngBounds(geolocation, geolocation));
});
}
}
</script>
</head>
<body onload="initialize()">
<div id="locationField">
<input id="autocomplete" placeholder="Adresinizi Giriniz" onFocus="geolocate()" type="text"></input>
</div>
<form action="streetfindexportinput.php" method="post">
Sokak No:<input id="street_number" disabled="true"/><br>
Güzergah:<input id="route" disabled="true"/><br>
Semt:<input id="locality" disabled="true"/><br>
Posta<input id="postal_code" disabled="true"/><br>
Ülke<input id="country" disabled="true"/><br>
<input type="hidden" name="lng" id="long" />
<input type="hidden" name="lat" id="lat" />
<button type="submit">Gönder</button>
</form>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Google Map Arama ve Marker Ekleme

 

PHP
142 lines
<title>Google Maps JavaScript API v3 Example: Map Simple</title>
<?php
if($_POST){
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title></title>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>
<script type='text/javascript' src="http://maps.google.com/maps/api/js?sensor=true&.js"></script>
<script type='text/javascript' src="https://raw.github.com/HPNeo/gmaps/master/gmaps.js"></script>
<style type='text/css'>
html,
body,
#map {
display: block;
width: 70%;
height: 90%;
}
</style>
<script type='text/javascript'>//<![CDATA[
$(function(){
var options = {
center : new google.maps.LatLng(<?php echo $_POST["lat"]; ?>, <?php echo $_POST["lng"]; ?>),
zoom : 15
};
var div = document.getElementById('map');
var map = new google.maps.Map(div, options);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $_POST["lat"]; ?>,<?php echo $_POST["lng"]; ?>),
map: map,
title: ''
});
});
//]]></script>
</head>
<body>
<div id="map"></div>
</body>
</html>
<?php
}else{
?>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places"></script>
<script type="text/javascript">
var placeSearch,autocomplete;
var component_form = {
'street_address' : 'long_name',
'route' : 'long_name',//sadece sokak varsa
'country' : 'long_name',//ülke
'administrative_area_level_1' : 'long_name',//il
'administrative_area_level_2' : 'long_name',//ilçe
'administrative_area_level_3' : 'long_name',
'locality' : 'long_name',//il
'sublocality' : 'long_name',//alt bölge
'neighborhood' : 'long_name',//sadece ilçe varsa
'postal_code' : 'long_name',//posta kodu
'street_number' : 'long_name'
};
function initialize() {
autocomplete = new google.maps.places.Autocomplete(document.getElementById('autocomplete'), { types: [ 'geocode' ] });
google.maps.event.addListener(autocomplete, 'place_changed', function() {
fillInAddress();
});
}
function fillInAddress() {
var place = autocomplete.getPlace();
var lat = place.geometry.location.lat();
var lng = place.geometry.location.lng();
var name = place.name;
var phone = place.formatted_phone_number;
var fullAddress = place.formatted_address;
for (var component in component_form) {
document.getElementById(component).value = "";
document.getElementById(component).disabled = false;
document.getElementById("long").value = lng;
document.getElementById("lat").value = lat;
document.getElementById("fa").value = fullAddress;
}
for (var j = 0; j < place.address_components.length; j++) {
var att = place.address_components[j].types[0];
if (component_form[att]) {
var val = place.address_components[j][component_form[att]];
document.getElementById(att).value = val;
}
}
}
function geolocate() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var geolocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
autocomplete.setBounds(new google.maps.LatLngBounds(geolocation, geolocation));
});
}
}
</script>
</head>
<body onload="initialize()">
<div id="locationField">
<input id="autocomplete" placeholder="Adresinizi Giriniz" onFocus="geolocate()" type="text"></input>
</div>
<form action="" method="post">
Full Adres:<input id="fa" name="fa"/><br>
Cadde<input id="street_address" disabled="true"/><br>
Sokak<input id="route" disabled="true"/><br>
Ülke<input id="country" disabled="true"/><br>
İl<input id="administrative_area_level_1" disabled="true"/><br>
İlçe<input id="administrative_area_level_2" disabled="true"/><br>
Köy<input id="administrative_area_level_3" disabled="true"/><br>
Bölge<input id="locality" disabled="true"/><br>
Alt Bölge<input id="sublocality" disabled="true"/><br>
Mahalle<input id="neighborhood" disabled="true"/><br>
Posta<input id="postal_code" disabled="true"/><br>
Sokak No<input id="street_number" disabled="true"/><br>
Enlem<input type="text" name="lat" id="lat" /><br>
Boylam<input type="text" name="lng" id="long" /><br>
<button type="submit">Gönder</button>
</form>
</body>
</html>
<?php } ?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Sorgu Sonrası Yönlendirme ile Güvenlik

Özellikle insert yaparken, flood engellemek için bunu kesinlikle uygulamalısınız.

Veritabanı bağlantınızı baglan.php dosyasında hazırlayın ve mysql_query sorgusunu düzenleyin.

PHP
11 lines
<?php
include("baglan.php");
$sql_kontrol =mysql_query("select or update or insert or delete vs...");
mysql_error();
if (!empty($_SERVER['HTTP_REFERER'])){//yönlendirme
header("Location: ".$_SERVER['HTTP_REFERER']);
}else{
header("Location: 404.html?err=referer");
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

İki Tablo Arasındaki Farkı Bulmak

Mantık gayet basit. Birbiriyle eşleşmeyen varsa dışarıda kalıyor.

Örneğin böyle bir tablomuz olduğunu düşünürsek

MySQL
7 lines
CREATE TABLE urun (`id` int);
INSERT INTO urun (`id`)
VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
CREATE TABLE urundetay (`id` int, `uid` int);
INSERT INTO urundetay (`id`,`uid`)
VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 7);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Yöntem 1

MySQL
2 lines
SELECT u.id FROM urun as u
WHERE NOT EXISTS (SELECT * FROM urundetay as d WHERE d.uid = u.id )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Yöntem 2

MySQL
3 lines
SELECT u.id FROM urun as u
LEFT OUTER JOIN urundetay as d ON u.id = d.uid
where d.uid IS NULL
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
8 lines
+-----+
| id |
+-----+
| 6 |
| 8 |
| 9 |
| 10 |
+-----+
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Eski Tarayıcılarda HTML5 Kullanabilmek

script tagı içerisinde bu kodları ekliyoruz

JavaScript
1 lines
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}</style>"; c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

sayfa kodlarınızı ekleyerek test edebilirsiniz.

HTML
11 lines
<header>ulusanyazilim.com</header>
<nav>Anasayfa</nav>
<article>
<section>
HTML5
</section>
</article>
<aside>
Reklamlar
</aside>
<footer>Copyright</footer>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX