Php Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Php Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Ocak 2014 Cumartesi

Php Toplu Seçimleri Alma ve Veritabanına Kayıt Etme

Blogumda daha önceden yayınladığım bir makalede devamını başka bir makale şeklinde anlatacağımı belirtmişim, unuttuğum için yazamadım. Bir arkadasımın hatırlatması üzerine makaleyi bir video şeklinde hazırladım.

http://www.ayazoglu.org/2013/10/jquery-ile-toplu-secme-islemi-toplu.html

Konusunda jquery ile toplu checked işlemininden elde edilen bir dizinin alınması ve veritabanına kayıt edilmesini anlattık. Olay basittir.




Video içeriğindeki kaynak kodlar :


 <?php  
## Ayna.Pro
## NM
/*
Evet Arkadaslar bir yazımda konu ile ilgili döküma paylaşacağımı yazmışım, arkadasın hatırlatması üzerine konu ile ilgili bir video çekeyim dedim :)
Şimdi jquery ile toplu checkbox işlemini php ve mysql ilişkili yapalım. Konuya özet geçmek gerekirse,
hepsini seç veya bazılarını seçip mysql e kayıt edeceğiz..
Şimdi bu verileri buraya mysql den nasıl cekeceğinizi anlatmıyorum :)
[] Bu şekilde zaten array olduğunu belirtmiş olduk tekrarında bir kez daha array olarak belirtmemize gerek yok
verileri basitce aldık.
Şimdi mysql bağlantısı yapıp query ile ekleyelim.
Olay basittir :)
Sağlıcakla Esen Kalın.
*/
if($_POST){
mysql_connect("localhost","root","123654")or die("hata");
mysql_select_db("ders");
$kat = $_POST['kategoriler'];
foreach($kat as $kategori){
$ekle = mysql_query("insert into veri(veri)values('$kategori')");
if($ekle){
echo "Eklendi. ".$kategori."<br>";
}
}
}
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$(".tumunu-sec").click(function(){
$(this).closest('table').find(':checkbox').attr('checked', this.checked);
});
});
</script>
<form action="" method="post">
<table id="tablo"><thead>
<tr><th width="20px"><input type="checkbox" class="tumunu-sec" title="Tümünü Seç"></th>
<th>Kategoriler</th></tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="kategoriler[]" value="PHP"></td>
<td>Php</td>
</tr>
<tr>
<td><input type="checkbox" name="kategoriler[]" value="MYSQL"></td>
<td>Mysql</td>
</tr>
<tr>
<td><input type="checkbox" name="kategoriler[]" value="HTML"></td>
<td>Html</td>
</tr>
<tr>
<td><input type="checkbox" name="kategoriler[]" value="CSS"></td>
<td>Css</td>
</tr>
<tr>
<td><input type="checkbox" name="kategoriler[]" value="JQUERY"></td>
<td>Jquery</td>
</tr>
</tbody>
</table>
<input type="submit" value="Kaydet">
</form>

14 Ocak 2014 Salı

zend Gdata ile Blogger,Blogspot Sitenize İçerik Post Edin.


Google nin bu konuda Blogger apisi mevcut fakat api kodunu bir kaç gün içinde vereceğiz uyarısını görünce farkı yollara başvurmam sonucunda, zend Framework ile yaptığım basit içerik posteri sizle paylaşalım..

Öncelikle Zend in kendi sitesinden zend_Gdata yı indirin.



Örnek Birde Bot vermiş olalım :) Rüya Tabirleri Botu

Ama günlük belli bir sayıya kadar içerik eklemenize izin veriyor 

Ornek.Php
 <?php  
## By NM
## Ayna.Pro
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_Query');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
$user = 'google@mail.com';
$pass = 'sifreniz';
$service = 'blogger';
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service, null,
Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null,
Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE');
$gdClient = new Zend_Gdata($client);
$kaynak = file_get_contents("http://www.ruya-tabirleri.com/a-sozlugu5.html");
$say = preg_match_all('#<a href="(.*?)" title="(.*?)" style="text-decoration: none">#s',$kaynak,$url);
for($i=1;$i<$say;$i++){
$urele = $url[1][$i];
$baslik = $url[2][$i];
$baslik = iconv("windows-1254","UTF-8",$baslik);
$asil = file_get_contents($urele);
$r1 = explode('<div id="solyasla">',$asil);
$r2 = explode('</div>',$r1[1]);
$r3 = explode('<center>',$r2[1]);
$icerik = $r3[0];
$icerik = iconv("windows-1254","UTF-8",$icerik);
$tag = 'A';
/////////////////////////POST İşlemi
$blogID = '7733994614677648385'; // like 98744313216546562
$title=$baslik;
$content=$icerik;
$uri = 'http://www.blogger.com/feeds/' . $blogID . '/posts/default';
$entry = $gdClient->newEntry();
$entry->title = $gdClient->newTitle($title);
$newLabel = $gdClient->newCategory($tag, 'http://www.blogger.com/atom/ns#');
$labels[] = $newLabel; // Append the new label to the list of labels.
$entry->setCategory($labels);
$entry->content = $gdClient->newContent($content);
$entry->content->setType('text');
$createdPost = $gdClient->insertEntry($entry, $uri);
$idText = split('-', $createdPost->id->text);
$newPostID = $idText[2];
echo $newPostID;
/////////////////
flush();
}
?>

Php ile Resim Boyutlandırma Sınıfı - Php Resim Ebatları

Resim olaylarında kullanabileceğiniz bir resim boyutlandırma yardımcı sınıfıdır. Resimlerde yükseklik veya genişlik hesaplamalarında yada resimlerine genişliklerini ve yüksekliklerini almada kullanabileceğiniz güzel bir sınıftır.

 <?php  
####################
## By NM
## ImageClass
## www.ayna.pro
####################
class Resim{
public $image;
public function boyut($image){
$size = getimagesize($image);
return $size[3];
}
public function genislik($image){
preg_match('#width="(.*?)"#',$this->boyut($image),$sonuc);
return $sonuc[1];
}
public function yukseklik($image){
preg_match('#height="(.*?)"#',$this->boyut($image),$sonuc);
return $sonuc[1];
}
public function YukseklikHesapla($yenigenislik,$genislik,$yukseklik){
$islem = $yukseklik*$yenigenislik;
$n = $islem/$genislik;
return ceil($n);
}
public function GenislikHesapla($yeniyukseklik,$genislik,$yukseklik){
$islem = $genislik*$yeniyukseklik;
$n = $islem/$yukseklik;
return ceil($n);
}
//Class Bitişi
}
$resim = new Resim();
// Örnek Kullanım
$resimimiz = 'dosya.jpg';
$genislik = $resim->genislik($resimimiz);
$yukseklik = $yukseklik->genislik($resimimiz);
$genislikhesapla = $resim->GenislikHesapla("500",$genislik,$yukseklik);
$yukseklikhesapla = $resim->GenislikHesapla("300",$genislik,$yukseklik);
?>

13 Ocak 2014 Pazartesi

ezSQL Kullanımı, Veritabanı Sınıfı, RainTPL ve ezSQL

Bu yazımda sizlere Kendiminde vazgeçemediğim ve neredeyse bütün projemlerimde kullandığım bir veritabanı snıfını tanıtacağım, ezSQL mutlaka bilenleriniz veya duyanlarınız olmuştur, malumunuz Wordpress in de alt yapısını oluşturan bir veritabanı sınıfıdır. Kullanım kolaylığı hızlılığı açısından çok çekicidir.
ezSQL her ne kadar biz mysql için kullanımını anlatacak olsak ta PHP-PDO, Oracle8, InterBase/FireBird, PostgreSQL, SQLite (PHP), SQLite (C++) ve MS-SQL gibi birçok veritabanında da kullanılır.

Öncelikle

http://www.ayna.pro/uploads/ezSQL.zip

Linkten ezSQL içeriğini indirin. Bir dizin oluşturun ve  İndirmiş olduğumuz paketin içinden mysql klasöründeki ez_sql_mysql.php ve shared klasöründeki ez_sql_core.php dosyalarını alıyoruz ve yeni oluşturduğumuz dizine yüklüyoruz. Bununla birlikte aynı dizinde boş bir config.php dosyası oluşturuyoruz.


 <?php  
//ezSQL çekirdegini dahil ediyoruz.
include_once "ez_sql_core.php";
// ezSQL veritabani bilesenini cagiriyoruz.
include_once "ez_sql_mysql.php";
// veritabanin ayarlarini yapiyoruz.
$vt_kullanici="root";
$vt_parola="";
$vt_isim="bilgiler";
$vt_sunucu="localhost";
// ezSQL sinifini cagirarak calistirmaya basliyoruz.
$db = new ezSQL_mysql($vt_kullanici,$vt_parola,$vt_isim,$vt_sunucu);
?>

içeriğine bu şekilde oluşturup, ezSQL sınıfını dahil edip veritabanı bağlantısını sağlıyoruz. artık config dosyanız hazır.

artık veritabanı query lerinizi ezSQL ile yapabilirsiniz.

Örnek Sorgular :

 $db->query("insert into(sutun)values('deger')");  
$db->query("update tablo set sutun='deger' where ='kosul'");
$tekil = $db->get_row("select * from tablo where ='kosul'");
echo $tekil->konubasligi;
$cogul = $db->get_results("select * from tablo");
foreach($cogul as $coklu){
echo $coklu->konubasligi;
}
$veri_sayisi = $db->get_var("select count(*) from tablo");


Bununla birlikte eğer ezSQL sınıfını kendi yazmış olduğunuz bir fonksiyonda kullanacaksanız fonksiyonun başına global $db; yazmayı unutmayın.

Kullanışlı ve pratik :)

Ek Olarak Eğer Mysql cache kullanmak isterseniz config.php dosyanız da ek olarak

 // Cache süresi ne zaman dolacak?  
$db->cache_timeout = 24; // Verilen değer saat cinsinden!
// Cache dizini
$db->cache_dir = 'cache/mysql/';
$db->use_disk_cache = true;

Değerlerini kullanabilirsiniz.

Diğer bir konu ezSQL RainTPL template manager ilede oldukça uyumludur.

 $cogul = $db->get_results("select * from tablo",ARRAY_A);  
$tpl->assgin("cogul",$cogul);

Şeklinde basitçe loop edebilirsiniz.

20 Aralık 2013 Cuma

PHP Tırnak Hatası, Mysql Tırnak Sorunu Hakkında

Bu Yazım da Php ile ilgili bazan yaşadığınız bir problem olan çift tırnak yada tek tırnak sorunu neden kaynaklanır, nasıl giderilir,

Mysql veri kaydetme esnasında yaşadığınız bu sorun aslına bakarsanız size bir uyarıdır :) nasıl bir uyarı diyecek olursanız, bu konuya geçmezden evvel sql query hakkında biraz incelemede bulunalım,

"select * from tablo where sutun='deger' order by id desc"

var olan query  bu şekilde varsayarsak deger değişkeni içersinde bir çift tırnak veya tek tırnak olduğunu varsayalım. degerin "merhaba" olduğunu düşünelim

"select * from tablo where sutun='"merhaba" order by id desc"

"select * from tablo where sutun='" query sutunu iki operatör arasını kapsar, o nedenle deger içersinde çift tırnak olduğu zaman query bu şekil bir hal alacaktır. Bu aslında bir SQL injection açığıdır. yani query nize dışardan bir müdahale sözkonusudur. mysql_real_escape_string yada addslashes fonksiyonundan geçirerek değişkeni o şekilde query ye dahil etmeniz gerekir,

$deger = addslashes($_POST['deger]);

gibi yada

$deger = mysql_real_escape_string($_POST['deger]);

Diğer bir konu tırnak sorunu sunucuda maqic_quotes aktif olmadığı zamanlarda meydana gelir şayet sunucu sahibi iseniz, php.ini editlyerek magic_quotes değerini on yapabilirsiniz.

2 Kasım 2013 Cumartesi

Php ile Blogger Blogspot sitelerden Veri Çekme, Blogger Bot [Video]

Bu videoda blogger için php ile bot yapımı anlatılmıştır. blogspot sitelerden veri çekilmesi nasıl yapılır anlatılmıştır. Gerçi blogspot veya başka herhangi bir site içinde bu prosedürler geçerlidir, Aynı zamanda bot yazma olayı hakkında basit bir örnek teşkil edebilir.. Aklınızda takılan soru ve sorunlar için yorum atabilirsiniz.


Php ile Seo Url Yapımı - Seo Url Sınıfı

Seo Sınıfı ile kolayca seo url oluşturabilirsiniz. seo.link.php dosyasını oluşturarak alttaki kodları yapıştırın. ve kullanacağınız sayfada include edin. Kullanımı altta basitçe anlatılmıştır.

<?php 
// Seo Class Code By Kerim Yılmaz 
class seo{
public 
$tr1;
public function 
sef($tr1
$tr1 trim($tr1); 
$tr1 str_replace("--","",$tr1); 
$tr1 str_replace("---","",$tr1); 
$turkce=array("ş","Ş","ı","(",")","‘","ü","Ü","ö","Ö","ç","Ç"," ","/","*","?",
"ş","Ş","ı","ğ","Ğ","İ","ö","Ö","Ç","ç","ü","Ü","-","A","B","C","D","E","F","G",
"H","I","J","K","L","M","N","O","P","R","S","T","U","V","Y","Z","Q","X","W"); 
$duzgun=array("s","s","i","","","","u","u","o","o","c","c","-","-","-","","s",
"s","i","g","g","I","o","o","c","c","u","u","+","a","b","c","d","e","f","g","h",
"i","j","k","l","m","n","o","p","r","s","t","u","v","y","z","q","x","w"); 
$tr1=str_replace($turkce,$duzgun,$tr1); 
$tr1 preg_replace("@[^A-Za-z0-9\+_]+@i","",$tr1); 
$tr1 str_replace("--","-",$tr1); 
$tr1 str_replace("---","-",$tr1);
$tr1 str_replace("--","-",$tr1);
$tr1 str_replace("+","-",$tr1);
return $tr1;
}

$seo = new seo(); 
?>
Kullanımı : 

$seourl $seo->sef($konusbasligi);  

9 Ekim 2013 Çarşamba

Mysql Join İşlemleri, Join Tablosu

Mysql sorgularında kullandığımız join işlemlerinden bahsedeceğim, join işlemi nedir, mysql veritabanından birden fazla tablo arasında belirli bir kritere bağlı olarak bir eşleme, sanal bir tablo oluşturma işlemidir.


Join Sorgu tablosunda gayet net bir şekilde açıklanmıştır.

Php ile RSS oluşturmak, Mysql Dinamik Rss Yapmak, Php Rss, Mysql Rss

Bu yazımda php ile dinamik rss oluşturmayı anlatacağım. mysql den veri çekerek dinamik bir şekilde rss oluşturmak php ile basit bir olaydır. Verdiğim kodu kendinize göre değiştirip kullanabilirsiniz. örnek demo olarak blogumun rss sine bakabilirsiniz. adres satırında rss.php yazmanız yeterli.

örnek php rss kodu :

<?php
include "config.php";
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>/*/Ayazoglu Other Name Of Security/*/</title>
<description>Php ve mysql webtasarımı üzerine özgün makale ve eğitim dökümanları barındırır. </description>
<link>http://www.ayazoglu.org/ayazoglu.org/</link>';
$sorgu = mysql_query("SELECT id, baslik, icerik, tarih FROM yazilar ORDER BY mid DESC LIMIT 15");
while($icerik=mysql_fetch_array($sorgu)){
echo '
<item>
<title>'.$icerik['baslik'].'</title>
<description><![CDATA[
'.$icerik['icerik'].'
]]></description>
<link>http://www.ayazoglu.org/ayazoglu.org/comments.php?entry=entry'.$icerik['id'].'</link>
<pubDate>'.$icerik['tarih'].' GMT</pubDate>
</item>';
}
echo '</channel>
</rss>';
?>

Eğer türkçe karakter hatası alıyorsanız. dosyanızı notepad++ ile açıp kodlamayı UTF-8 yapınız. Hala türkçe karakter hatası alıyorsanız. Veritabanı karakter setinizi kontrol ediniz. Hala daha çözemedim ben Türkçe karakter sorunu alıyorum. veya Mozilla da çalışıyor, internet explorer de çalışmıyor diyorsanız. Yorum yazınız bizzat yardımcı olayım..

Curl ile url ye Post gönderme, Kaynak okuma

Bir url ye get methoduyla gönderilmiş kısmını file_get_contetns
ile okumak kolay ama birde url ye post yöntemiyle veri gönderip çekmekkonusu var.
bununn için curl fonksiyonumuzun post özelliğinden faydalanacağız.

passcracking.com sitesinde md5 crack işlemi ni nasıl yapacağız onuda öğrenmiş olacağız.

// Passcracking.Com ///
$hash = "MD5 BURADA OLACAK";
$gonder = curl_init();
curl_setopt($gonder, CURLOPT_URL, "http://passcracking.com/index.php");
curl_setopt($gonder, CURLOPT_POST, 1);
curl_setopt($gonder, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($gonder, CURLOPT_POSTFIELDS,"datafromuser=$hash");
$sonuc = curl_exec ($gonder);
curl_close ($gonder);
$kaynak = explode('</td><td bgcolor=#FF0000>', $sonuc);
$kaynak = explode('</td><td>', $kaynak[1]);
// Passcracking.comm..///

bu url de md5 crack işlemi yapılıyor ancak md5 post edilerek gönderiliyor bu işlemi curl postfields ile datayı post ediyoruz ve post eilmiş kaynağı okuyoruz.

sonrası standart explode işlemleri veriyi bölüp gerekli kısmnı alıyoruz. vede ekrana yazdırıyoruz

Wordpress İçerik Ekleme [PHP]

son istekleriniz üzere wordpress te dışardan bir kaynaktan
yazı ekleme işlemini anlatacğım.

herhangi bir bot un wordpress e konu açmasını sağlayabilir
veya istediğiniz şekilde bir yazılımda konu açtırabilirsiniz

bunun için kodumuzu veriyorum...

include "wp-load.php";$my_post = array();$my_post['post_title'] = "KONU BAŞLIĞI";$my_post['post_content'] = "YAZI İÇERİĞİ";$my_post['post_status'] = 'publish';$my_post['post_author'] = 1;$my_post['post_category'] = array(8); //Kategori id.
wp_insert_post( $my_post );echo "eklendi";

bu kod sayesinde wordpress e dışardan yazı ekleme işlemi yapabilirsiniz..