Pages

11 Mayıs 2012 Cuma

Drupal Öğreniyorum

Ve nihayet "Drupal" ile arkadaş olduk =)

Tanıtımını,Genel özelliklerini vb. okuyorum da, "bu da benim aklıma gelmişti,yazın bunları yapacağım"  dediğim herşeyi yapmış adamlar.

Örnek :

Doğuştan Ortak Kullanım İmkanı

Bir kişinin içerik girerek yayın yaptığı birden çoka (ing: one to many) tarzı bir uygulamayı birçok İYS sistemi kurulduğu anda sunmaktadır. Fakat çoktan çoka (ing: many to many) bir iletişim modeli içeren bir uygulama söz konusu olduğunda (ör: çok kullanıcılı blog) Drupal bir adım öne çıkmaktadır. Değişik İYS sistemleri bu özelliği sonradan yamayarak ve uğraştırarak elde etmenizi sağlarken, bu konu Drupal'in üzerine inşaa edildiği ana fikirlerden biridir.
Çeşitli sistemlerde bir blog oluşturup üyelerinizin blog yazılarınıza yorum yapabilmesini sağlayabiliyorsunuz. Peki ya her üyenize kendi bloglarını yazma imkanı tanımak isterseniz? Hatta her biri kendi blog temasını belirleyebilse? Üstelik üyelerin özel profil sayfaları olsa? Üstüne bir de forum ve wiki-benzeri bir ortam eklemek isterseniz? Hatta bir de kullanıcıların kendi fotoğraf galerileri olsun istiyorsanız?
Drupal'de çoklu kullanıcı uygulaması en temel seviyeden itibaren ele alınarak uygulandığı için, bu sayılan özellikleri içeren çoktan çoka tarzı bir site oluşturmak, birden çoka tarzı uygulamalardan pek de farklı değildir. Ortak kullanımla içerik oluşturma konusunda Drupal gerçekten çok başarılı bir sistemdir.

Eğer siz de Drupal öğrenmek isterseniz şu adresten yardım alabilirsiniz :

Drupal Dersleri : http://drupaldersleri.org/

7 Mayıs 2012 Pazartesi

Php,MySql ve JQuery ile Hazırlanmış Site İçi Chat veya Chat Sitesi

PHP, MYSQL ve JQUERY KULLANARAK OLUŞTURULMUŞ CHAT SİSTEMİ


Farklı amaçlar için kullanılabilecek bir çet sistemi. Kullanıcılar siteye bir rumuz alarak giriş yapıyor ve aralarında sohbet edebiliyorlar. Şu anda çok da gelişmiş bir sistem değil, ancak üzerine düşen olursa iyi yerlere gideceğinden eminim.


Parola : mustafasolak


Çet Sisteminin Dosyalarını İndir

Bu projeyi hazırlarken php ile online üye gösterme sisteminden de yararlandım.

PHP Dosya Yükleme | PHP File Upload

PHP ile dosya yükleme işlemini yaptığım çalışma. Açıklamaları içindedir.
Güzel yanı, kaç adet dosya yüklemek istiyorsanız bunu dosya yükleme esnasında seçebiliyorsunuz. 2 adet dosya yüklemek istiyorsunuz diyelim :  Alan Ekle butonuna basarak bir adet daha dosya yükleme alanı gelmiş oluyor. Ve dosya yüklemeyi karşılayan sayfamız da bunların sayısını otomatik olarak alıyor.
Birçok kimsenin işine yarayacağından eminim.
Eğer MAX_FILE_SIZE değerini 0 olarak verirseniz veya hiç belirtmez iseniz, dosya yükler iken kullanıcı tarafından herhangi bir boyut sınırlaması olmayacaktır.



<script>
// Mustafa SOLAK tarafından yazılmıştır.
// mustafasolak22@hotmail.com
// http://msolak.blogspot.com
// Herhangi bir sorunuz olursa bu adreslerden bana ulaşabilirsiniz.

function alanSil(){
var kacTane = document.getElementById('formMs').getElementsByTagName('p').length;
if (kacTane > 1){
var Node1 = document.getElementById("formMs");
Node1.removeChild(Node1.childNodes[(kacTane+1)]);
}//else alert("olmaz");
}

function alanekle(){
var kacTane = document.getElementById('formMs').getElementsByTagName('p').length;
var formum = document.getElementById('formMs');

var yeniParag = document.createElement('p'); // Yeni paragraf oluşturuluyor.
yeniParag.setAttribute('id',"p-" + kacTane);
document.getElementById('formMs').appendChild(yeniParag);

var yenimaxinput = document.createElement('input');
yenimaxinput.setAttribute('type',"hidden");
yenimaxinput.setAttribute('name',"MAX_FILE_SIZE");
yenimaxinput.setAttribute('value',"15000000");
yeniParag.appendChild(yenimaxinput);

var yeniLabel = document.createElement('label');
yeniLabel.innerHTML = "Dosya Seçiniz :";
yeniParag.appendChild(yeniLabel);

var yenidosyainput = document.createElement('input');
yenidosyainput.setAttribute('type',"file");
yenidosyainput.setAttribute('name',"dosya[]");
yeniParag.appendChild(yenidosyainput);

}

</script>

<form enctype="multipart/form-data" action="?" method="POST">
<div id="formMs">
<p id="p-0">
<input type="hidden" name="MAX_FILE_SIZE" value="15000000" /> <!-- 15 MB boyutunda -->
Dosya seçiniz : <input name="dosya[]" type="file" />
</p>
</div>

<input type="button" onclick="alanekle()" value="Alan Ekle" />
<input type="button" onclick="alanSil()" value="Sil" /><br><br>
<input type="submit" value="Dosyayı Yükle" />
</form>

<?php
$ilk_gelis = empty($_POST);

if (!$ilk_gelis){
print "<pre>";
//print_r($_FILES);
print "</pre>";

$yuklenecekAdres = "yuklenendosyalar/";
//$yuklenecekAdres .= basename($_FILES["dosya"]["name"]);

foreach($_FILES["dosya"]["error"] as $anahtar => $hata) {
if ($hata == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["dosya"]["tmp_name"][$anahtar];
$name = $_FILES["dosya"]["name"][$anahtar];
move_uploaded_file($tmp_name, $yuklenecekAdres . "/" . $name);
echo "Seçtiğiniz dosya : " . basename( $_FILES['dosya']['name'][$anahtar]). " başarıyla yüklendi.<br>";
}
else print $error_message = @file_upload_error_message($_FILES['dosya']['error']);
}

function file_upload_error_message($error_code) {
switch ($error_code) {
case UPLOAD_ERR_INI_SIZE:
return 'php.ini dosyasında belirtilen upload_max_filesize değerini aştınız. Lütfen upload_max_filesize değerini kontrol edin.';
case UPLOAD_ERR_FORM_SIZE:
return 'Dosya yükleme formunda yer alan MAX_FILE_SIZE değerini aştınız.';
case UPLOAD_ERR_PARTIAL:
return 'Dosya kısmen yüklendi.';
case UPLOAD_ERR_NO_FILE:
return 'Yüklenecek dosya seçmediniz.';
case UPLOAD_ERR_NO_TMP_DIR:
return 'Geçici dizin yoktur. tmp';
case UPLOAD_ERR_CANT_WRITE:
return 'Dosya diske yazılırken hata oluştu.';
case UPLOAD_ERR_EXTENSION:
return 'Dosya yükleme bir PHP eklentisi nedeniyle durmuştur. ';
default:
return 'Bilinmeyen dosya yükleme hatası;';
}
}
}

?>