Translate

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

22 Eylül 2021 Çarşamba

What is jQuery?



What is jQuery?

jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.


1
$( "button.continue" ).html( "Next Step..." )

Event Handling

Show the #banner-message element that is hidden with display:none in its CSS when any button in #button-container is clicked.

1
2
3
4
var hiddenBox = $( "#banner-message" );
$( "#button-container button" ).on( "click", function( event ) {
hiddenBox.show();
});

Ajax

Call a local script on the server /api/getWeather with the query parameter zipcode=97201 and replace the element #weather-temp's html with the returned text.

1
2
3
4
5
6
7
8
9
$.ajax({
url: "/api/getWeather",
data: {
zipcode: 97201
},
success: function( result ) {
$( "#weather-temp" ).html( "<strong>" + result + "</strong> degrees" );
}
});

27 Haziran 2012 Çarşamba

Jquery dersleri bölüm 1





jquery günümüz webyazılımcıları için çok önemli hale gelmeye başladı bizlerde bundan geri kalmamak için elimizden geldiğince takip etmeye çalışıyoruz ilk olarak jquery nasıl kullanılır onu öğrencez
ilk olarak jquery sayfasından  http://docs.jquery.com/Downloading_jQuery son sürümünü indiriyoruz
daha sonra bir html sayfası oluşturup içine




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Başlık</title>

<script src="jquery.min.js" type="text/javascript"></script>

</head>
<body>

</body>
</html>


Şeklinde html şablonumuzu oluşturuyoruz   ve jquery yolumuzu koyu yazıldığı şekilde belirtiyoruz
jquery "<script type="text/javascript "></script>" taglari arasında yazılır
ve tek tip   "var" dır  kolar herzaman "$" ile yazılmaya başlar '$(function())' ,'$('a')' gibi
cümle bitiminde ";" konulmalıdır


<script type="text/javascript">
$(function() {
$('a').click(function() {
$('#div').slideUp(4000);
});
});

</script>


yukardaki kod kısmında  bir fonksiyon oluşturduk ve box adındaki div i 4000 mili saniye (4 saniye) bekledikten slideup  ile sonra yukarı doğru kaybolsun dedik  css mantıgı burdada devam ediyor id ler "#" ile classlar "." id ya da class oldugunu belirtmezsek tüm div ya da ne için yazıldıysan hepsini kapsayacak şekilde olacaktır. daha iyi anlamanız için küçük bir örnekte gösterelim


html


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script src="jquery.min.js" type="text/javascript">
</script>



<script type="text/javascript">
$(function() {
$('a').click(function() {
$('#box').slideUp(4000);
});
});

</script>

</head>

<body>
<div id="kutu"></div>
<a href="#">Tıkla!</a>
</body>
</html>


css 
    <style type="text/css">
#kutu {
background-color: red;
width: 300px;
height: 300px;
}
</style>


26 Haziran 2012 Salı

Jquery dersleri bölüm 4 (Toggle Methodu)



Toggle Methodu 


Toggle methodu  çok kullanışlı bir methoddur bir çok sitede rasgelmişsinizdir aslında show ve hide methodlarının karışımıdır diyebiliriz.Zaten Türkçe olarak bir işlemden diğerine geç gibi bir anlamı var.
kullanımına bakalım;


toggle()
toggle(4000) // 4000 zaman belirtir. 4000 = 4 saniye
toggle('slow') // slow'un Türkçe karşılığı yavaş demektir.
HTML-Kodu:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script src="jquery.min.js" type="text/javascript">
</script>

<style type="text/css">
#box {
background-color: red;
width: 300px;
height: 300px;
display: none;
}
</style>

<script type="text/javascript">
$(function() {
$('a').click(function() {
$('#box').toggle('slow');
});
});

</script>

</head>

<body>
<div id="box"></div>
<a href="#">Tıkla beni!</a>
</body>
</html>
Tıkla beni yazısına tıkladıgımız div açılacak tekrar tıkladıgımızda kapanacaktır kullanımı bu şekildedir

AJAX ile Eş Zamanlı Form Kontrolü



Kısaca konuyu anlatmak gerekirse eski usulde form kontrolünde tüm formu doldururdunuz ve bittiği zaman "Gönder" düğmesine basardınız. Eğer girmiş olduğunuz kullanıcı adı veya e-posta adresi başkası tarafından kullanılıyorsa ancak tüm formu doldurup gönderdikten sonra bunu öğrenebilirdiniz. Oysa ki AJAX ile o an doldurmuş olduğunuz metin kutusunu eş zamanlı olarak kontrol edilmesini sağlama imkanınız var. Yani kontrolü, gönder butonuna basmadan önce, form elemanı doldurulduğu anda yapabileceğinizi kastediyorum. Konuyu anlatırken AJAX-TR için hazırladığım ve AJAX Tab Kontrol ismini verdiğim örnek uygulamayı kullanacağım. İsmine "Tab kontrol" dedim çünkü Tab tuşuna basıldığı anda veya kutudan çıkıldığı anda kontrolün yapılışını anlatacağım.


DosyalarUygulamada ana sayfayı oluşturan index.php dosyası, kontrolün yapıldığı ve bilginin gönderildiği kontrol.php dosyası ile eyceks kütüphanesinin dosyaları (loading.gif, eyceks.js) bulunmakta.

İlk Adım Kontrol edeceğimiz formu index.php dosyasında oluşturuyoruz. Sadece bir metin kutusu bize yetecektir. Yanına da yeşillik niyetine parola kutusu koydum

PLAIN TEXTHTML:
<form action="void(0)" method="POST" name="form1">
<table>
<tr><td colspan="2"><b>ÜYE GİRİŞİ</b><br><br></td></tr>
<tr><td width="100">Kullanıcı Adı</td><td width="350">: </td></tr>
<tr><td>Parola</td><td>: </td></tr>
<tr><td></td><td></td></tr>
</table>
</form> 

Dikkat ederseniz kullanıcı adı metin kutusunun onblur olayına kontrol_et() işlemini yapmasını belirttim. Bu kontrol_et() fonksiyonu form bilgisini kontrol.php dosyasına gönderecek olan fonksiyon. Aşağıda bu fonksiyonu açıklayacağım.

Formumuzu hazırladık diyelim. Bizim burada yapacağımız şey kontrol butonuna basılmadan kullanıcı adının girildiği kutuyu, biz parola hanesine geçerken kontrol edilmesini sağlamak. Kontrolde, girilen kullanıcı isminin var olup olmadığına bakılmasını ve kullanıcıyı buna göre uyarmasını istiyoruz.

İkinci AdımAJAX Tab Kontrol'de bu sitenin yazarı eburhan'ın arkadaşımızın eyceks kütüphanesini kullandım.

Bu ikinci aşamada eyceks'i form kontolü yapacağımız index.php dosyasına çağıralım.

PLAIN TEXTJAVASCRIPT:
[/javascript]

Bu işlemi de tamamladıktan sonra sıra geldi <strong>Tab</strong> tuşuna bastığımızda işlemesi gereken javascript fonksiyonuna.

<h3>Üçüncü Adım</h3>
[javascript]function kontrol_et(){
var sc = 'uyeadi='+ document.form1.kullanici_adi.value;
JXP(1, "sonuc", "kontrol.php", sc);


İşte bu kodlarla tabtuşuna basılıp parola kutusuna geçerken eyceks kutuphanesini de kullanarak kontrol.php dosyasına kullanıcı adını POST metoduyla (JXP) yolladık. Gelecek olan cevabı da "sonuc" id'sine sahip elemanda görünecek şekilde ayarladık.

Son AdımSon adım ise kontol.php dosyasını oluşturduğumuz kısım. Bu dosyada kontrolü dilediğiniz gibi ayarlayabilirsiniz. İster veritabanına bağlantı kurun, isterseniz de bir e-posta adresinin uygun yazılıp yazılmadığını kontrol edin. Burası size kalmış. Ben ise sadece 5 tane üye ismi belirledim ve girilen ismin bunlardan birisiyle aynı olup olmadığını kontrol ediyorum. Ne de olsa önemli olan mantığı kavramak

kontol.php

PLAIN TEXTPHP:
isim zaten mevcut :-(</font>';
break;
case "":
echo '<font>isim girmediniz!</font>';
break;
default:
echo '<font color="blue">isim uygun :-)</font>';
}

?&gt; 

21 Haziran 2012 Perşembe

C ile MySQL Programlama


Bu yazıda C programlama dilini kullanarak MySQL veritabanına bağlanan programlar yapmayı öğreneceğiz. Döküman tahribat.com için j4x (gVeR) tarafından yazılmıştır. Örnekler gcc, MinGW ve Visual C++ derleyicisi -son sürümleri- kullanılarak test edilmiş ve çalışmaktadır. Bu döküman bir MySQL dersi değildir, MySQL bilenleri hedef alır. Fakat yine de basit işlemleri öğrenmenizi sağlayabilir.

MySQL C Kütüphanesinin Yüklenmesi

Linux (Ubuntu) İçin: sudo apt-get install mysql-server mysql-client libmysqlclient16-dev
Windows İçin: Eğer derlemeyi Visual C++ kullanarak yapmak istiyorsanız, MySQL_Dizini\lib\libmysql.lib dosyasını alıp Visual C++ içindeki lib klasörüne atın. Aynı şekilde include klasörünün içindekileri de Visual C++ içindeki include klasörüne atın. Eğer derlemeyi MinGW ile yapacaksanız iş biraz daha zahmetli. libmysql.a dosyası MySQL de kendiliğinden mevcut olmadığı için .lib dosyasını .a formatına çevirmeniz gerekiyor, bu da bilgisayardan bilgisayara ve versiyondan versiyona sorun çıkarıyor. O yüzden daha kolay ve sorunsuz bi yöntem olarak Xampp yüklemeyi öneriyorum. Xampp'ı kurduktan sonra xampp_dizini/mysql/ içindeki lib ve include klasörlerini mingw (ya da dev c++) dizini içine kopyalıyoruz. Daha sonra derleyicimizin lib klasörü içindeki libmysql.lib dosyasının adını değiştirip libmysql.a yapıyoruz. Eğer libmysql.dll hatası alırsanız mysql dizininizin lib klasörü içerisindeki libmysql.dll dosyasını projemizin .exe dosyasıyla aynı klasöre atıyoruz.
Windows ve MinGW Kullanıcılarına Not: Ben .lib dosyasını .a dosyasına çevirmek istiyorum isim değiştirmekle olmadı diyen varsa, Bu linkten pexports programını indirsin. Daha sonra komut satırından (cmd) mysql klasörü içindeki lib klasörüne girip "pexports libmysql.dll > libmysql.def" yazsın ve çıkan .def dosyasını aynı klasördeki libmysql.dll ile beraber derleyicisinin bin klasörüne kopyalasın. Daha sonra komut satırından derleyicisinin bin klasörüne gelip "dlltool -k --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a" yazsın ve bu .def dosyasını kullanarak libmysql.a dosyasını oluşturmayı denesin. Sorun çıkma ihtimali yüksek o yüzden yukarıdaki yöntemi buna tercih ediyorum.
MySQL C kütüphanesinin kurulumu bu kadar. Bunu yapabildiyseniz muhtemen dökümanın kalan kısmında sorun olmayacaktır :))

Projeye .lib Dosyalarının Eklenmesi

MySQL C kütüphanesini kullanacak bir proje yapmak istediğiniz bu kütüphane dosyasını projenize eklemeniz gerekmektedir. Bunun için:
* Eğer Linux'ta gcc kullanıyorsanız, derleme satırına "$(mysql_config --libs) $(mysql_config --cflags)" ekleyin.
* Eğer komut satırından MinGW kullanıyorsanız derleme satırına "-lmysql" direktifini ekleyiniz.
* Eğer DevCpp kullanıyorsanız (ki o da varsayılan derleyici olarak MinGW kullanır) menüden Tools > Compiler Options kısmına girerek aşağıdaki resimde gözüktüğü gibi linker direktiflerine "-lmysql" ekleyiniz.
Dev%20C++%20Linker%20Direktiflerinin%20Eklenmesi
* Eğer Visual C++ kullanıyorsanız Solution Explorer penceresinde projenize sağ tıklayarak Properties seçin. Property Pages penceresi açıldığında, aşağıdaki resimdeki gibi libraryler arasına libmysql.lib ekliyoruz.
Visual%20C++%20Linker%20Direktiflerinin%20Eklenmesi
Bunları yaptıktan sonra Projenizde #include <mysql.h> yazarak mysql başlık dosyasını eklemeyi unutmayın.

Artık Koda Geçelim...

Yukarıdaki zımbırtıları hallettiğinizi varsayarak koda geçiyoruz. Bildiğiniz gibi veritabanı üzerinde işlem yapabilmek için ilk olarak bir bağlantı sağlamamız lazım. Bunu MySQL C API kullanarak yapmak için ilk olarak bir MYSQL işaretçisine ihtiyacımız var. Aşağıdaki şekilde tanımlıyoruz.
01#include <stdio.h>
02#include <stdlib.h>
03//#include <windows.h> // Program Windows'ta çalışacaksa satırın başındaki yorum işaretlerini kaldırın
04#include <mysql.h>
05
06int main(void)
07{
08    MYSQL *conn = NULL;
09     
10    conn = mysql_init(NULL);
11
12    if (conn == NULL)
13    {
14        printf("Hafiza yetersiz. Nesne hazirlanamadi.\n");
15        exit(EXIT_FAILURE);
16    }
17     
18    mysql_close(conn);
19     
20    getchar();
21    return 0;
22}
Tanımladığımız conn değişkeni, bağlantıyı temsil edecek işaretçidir. Henüz bir bağlantı sağlamış değiliz yalnızca nesneyi hazırladık. Bağlantıyı sağlamak için mysql_real_connect() fonksiyonunu kullanıyoruz.
01#include <stdio.h>
02#include <stdlib.h>
03//#include <windows.h> // Program Windows'ta çalışacaksa satırın başındaki yorum işaretlerini kaldırın
04#include <mysql.h>
05
06int main(void)
07{
08    MYSQL *conn = NULL;
09     
10    conn = mysql_init(NULL);
11
12    if (conn == NULL)
13    {
14        printf("Hafiza yetersiz. Nesne hazirlanamadi.\n");
15        exit(EXIT_FAILURE);
16    }
17     
18    if (NULL == (mysql_real_connect(conn, "localhost""root""123456""veritabani1", 0, NULL, 0)))
19    {
20        printf("Baglanti saglanamadi, Hata: %s\n", mysql_error(conn));
21        exit(EXIT_FAILURE);
22    }
23     
24    mysql_close(conn);
25     
26    getchar();
27    return 0;
28}
Bu kodda veritabanının "localhost" ta çalıştığı (ne olduğunu bilmiyorsanız muhtemelen localhostta çalışıyordur ellemeyin.), bağlantıda kullanılacak kullanıcı adının "root" olduğu, root'un şifresinin "123456" olduğu ve üzerinde işlem yapılacak veritabanının "veritabanı1" adında olduğunu söyledik. Siz buraları kendi bilgilerinizle değiştirin. mysql_real_connect()'in bağlantı sağladığını öğrendik, şimdi ise işlemlere geçelim. Burada SELECT, INSERT, UPDATE ve DELETE deyimlerini göreceğiz. Aslında son üçünün kullanımı aynı olduğundan onlardan bir tanesini göreceğiz sorguyu değiştirerek diğerlerini kullanabilirsiniz.

Veritabanında Ekleme, Silme ve Güncelleme İşlemleri

Bunun için bir fonksiyon daha öğreneceğiz. Bu fonksiyonumuz mysql_query(). Veritabanımızda id (int), ad (varchar 30) ve soyad (varchar 30) alanlarını içeren "ogrenciler" adında bir tablomuz olduğunu farzedelim. Bu tabloya kullanıcıdan aldığımız bilgilere göre kayıt eklemek istiyoruz. Aşağıdaki gibi bir kod işimizi görür.
01#include <stdio.h>
02#include <stdlib.h>
03//#include <windows.h> // Program Windows'ta çalışacaksa satırın başındaki yorum işaretlerini kaldırın
04#include <mysql.h>
05
06int main(void)
07{
08    MYSQL *conn = NULL;
09    char sorgu[255] = {0};
10    int id = 0;
11    char ad[31] = {0};
12    char soyad[31] = {0};
13     
14    conn = mysql_init(NULL);
15
16    if (conn == NULL)
17    {
18        printf("Hafiza yetersiz. Nesne hazirlanamadi.\n");
19        exit(EXIT_FAILURE);
20    }
21     
22    if (NULL == (mysql_real_connect(conn, "localhost""root""123456""veritabani1", 0, NULL, 0)))
23    {
24        printf("Baglanti saglanamadi, Hata: %s\n", mysql_error(conn));
25        exit(EXIT_FAILURE);
26    }
27     
28    printf("ID giriniz: ");
29    scanf("%d", &id);
30    getchar();
31     
32    printf("Ad giriniz: ");
33    scanf("%s", ad);
34    getchar();
35     
36    printf("Soyad giriniz: ");
37    scanf("%s", soyad);
38    getchar();
39     
40    sprintf(sorgu, "INSERT INTO ogrenciler VALUES(%d, '%s', '%s')", id, ad, soyad);
41     
42    if (mysql_query(conn, sorgu))
43    {
44        printf("Sorgu calistirilamadi!, Hata: %s\n", mysql_error(conn));
45        exit(EXIT_FAILURE);
46    }
47     
48    printf("Ekleme basarili!\n");
49     
50    mysql_close(conn);
51     
52    getchar();
53    return 0;
54}
Burada yaptığımız kullanıcıdan bilgileri alıp, bir karakter dizisine yazdırmak ve daha sonra bunu SQL sorgu metni olarak kullanmak. Burada INSERT INTO deyimi yerine UPDATE ve DELETE deyimlerini de kullanabiliriz, kullanım da bir değişikliğe gerek yoktur. Örneğin yukarıdaki tablo için sorgu değişkeninde "UPDATE ogrenciler SET id = 5 WHERE ad = 'Ahmet'" gibi bi sorgu ile ad'ın Ahmet olduğu kaydın id değerini 5 yapabiliriz. Aynı şekilde 3 numaralı id değerine sahip kişiyi silmek için "DELETE FROM ogrenciler WHERE id = 3" sorgusu kullanılabilir. Kısacası değişmesi gereken kısım mysql_query() fonksiyonunun 2. parametresindeki stringden ibarettir.
Şimdi ise SELECT deyimi ile veritabanından veri çekmeyi gösterelim.

SELECT Deyimi ile Veritabanından Veri Çekmek

Yine yukarıda verdiğimiz öğrenci tablosunu kullanacağız. Tablonun içinin dolu olduğunu farzedelim. Tablodaki kayıtları ekrana yazdırmak için aklımıza gelebilecek en basit sorgulardan biri olan "SELECT * FROM ogrenciler" sorgusunu kullanalım.
01#include <stdio.h>
02#include <stdlib.h>
03//#include <windows.h> // Program Windows'ta çalışacaksa satırın başındaki yorum işaretlerini kaldırın
04#include <mysql.h>
05
06int main(void)
07{
08    MYSQL *conn = NULL;
09    MYSQL_RES *result = NULL;
10    MYSQL_ROW row;
11     
12    conn = mysql_init(NULL);
13
14    if (conn == NULL)
15    {
16        printf("Hafiza yetersiz. Nesne hazirlanamadi.\n");
17        exit(EXIT_FAILURE);
18    }
19     
20    if (NULL == (mysql_real_connect(conn, "localhost""root""123456""veritabani1", 0, NULL, 0)))
21    {
22        printf("Baglanti saglanamadi, Hata: %s\n", mysql_error(conn));
23        exit(EXIT_FAILURE);
24    }
25     
26    if (mysql_query(conn, "SELECT * FROM ogrenciler"))
27    {
28        printf("Sorgu calistirilamadi!, Hata: %s\n", mysql_error(conn));
29        exit(EXIT_FAILURE);
30    }
31     
32    result = mysql_store_result(conn);
33     
34    printf("ID\tAd\tSoyad\n");
35    printf("=====\t=====\t=====\n");
36     
37    while ((row = mysql_fetch_row(result)))
38    {
39        printf("%s\t%s\t%s\n", row[0], row[1], row[2]);
40    }
41     
42    mysql_free_result(result);
43     
44    mysql_close(conn);
45     
46    getchar();
47    return 0;
48}
Bu programda da 2 yeni fonksiyon öğreniyoruz. Bunlar mysql_store_result() ve mysql_fetch_row(). mysql_store_result() fonksiyonunu, SELECT sorgusunu çalıştırdıktan sonra veritabanındaki sonuçları almak için kullanıyoruz. mysql_fetch_row() ise sonuç setindeki tüm sonuçlar boyunca döngüyü döndürmek için kullanılır. row değişkenini veritabanındaki bir satır olarak düşünelim (ki zaten o anlamda kullanılmış). row[0] satırdaki ilk sütun, row[1] ikinci sütun, ... Bu şekilde devam etmektedir. Veritabanından tüm sonuçlar karakter dizisi olarak döneceği için hepsinde %s kullandık, '\t' karakteri de bildiğiniz gibi tab karakteri yerine geçiyor, yalnızca konsolda metin hizalama amaçlı kullandık.
Son olarak bir de mysql_real_escape_string() fonksiyonunu gösterelim.

MySQL Özel Karakterlerini Anlamsızlaştırmak

İngilizce escaping deyimine 'anlamsızlaştırmak' diye bir Türkçe karşılık uyduruverdim, mazur görün :P. mysql_real_escape_string() fonksiyonu MySQL özel karakterlerini anlamsızlaştırmak için kullanılır (Phpci arkadaşlar iyi bilir). Örneğin verdiğimiz INSERT örneğini düşünelim. Adamın ismi Kel'Thuzad (evet aklıma başka bişey gelmedi) yani isminde ' karakteri geçiyor. Sorgu şu şekilde olacaktır: "INSERT INTO ogrenciler VALUES(1, 'Kel'Thuzad', 'Yogurtcuoglu')". MySQL burdaki ' karakterinin stringin sonumu yoksa ismin bir parçası mı olduğunu anlayamaz. Daha doğrusu stringin sonu olarak algılar. Dolayısıyla sorgunuz syntax hatası verecektir. Bu gibi MySQL özel karakterlerinin kullanılacağı durumlarda (hatta her zaman) mysql_real_escape_string() fonksiyonu oldukça faydalıdır. Hele ki kullanıcıdan giriş alıyorsanız, güvenlik açısından kullanmalısınız.
Not: mysql_real_escape_string() fonksiyonu için aktif bir MySQL bağlantısı gerekir, sebebi karakter seti bilgisinin bağlantıdan alınmasıdır.
Kodu bir daha yazmak yerine INSERT örneğimize bazı eklemeler yapacağız.
İlk olarak başlık dosyalarımızın arasında string.h başlık dosyasını ekliyoruz.
1#include <string.h>
Ardından main() fonksiyonun içinde değişken tanımladığımız bölümde iki değişken daha tanımlıyoruz:
1char guvenli_ad[30 * 2 + 1];
2char guvenli_soyad[30 * 2 + 1];
Daha sonra aşağıdaki satırı buluyoruz.
1sprintf(sorgu, "INSERT INTO ogrenciler VALUES(%d, '%s', '%s')", id, ad, soyad);
ve bu şekilde değiştiriyoruz:
1sprintf(sorgu, "INSERT INTO ogrenciler VALUES(%d, '%s', '%s')", id, guvenli_ad, guvenli_soyad);
ve bu satırın üstüne aşağıdakileri ekliyoruz.
1mysql_real_escape_string(conn, guvenli_ad, ad, strlen(ad));
2mysql_real_escape_string(conn, guvenli_soyad, soyad, strlen(soyad));

Türkçe Karakter Sıkıntısı Yaşayanlara Öneriler

Eğer C ve MySQL programlarınızda Türkçe karakter sıkıntısı yaşıyorsanız işte size birkaç öneri.
* Türkçe karakter kullandığınız C programlarınızda setlocale fonksiyonu ile yereli Türkçeye çevirin.
1#include <locale.h>
2int main(void)
3{
4    setlocale(LC_ALL, "Turkish");
5    return 0;
6}
* MySQL bağlantısını sağlar sağlamaz bağlantının kullanacağı karakter setini belirleyin. Bunun için aşağıdaki gibi bir satır kullanabilirsiniz (eğer latin5_turkish_ci karşılaştırmasını kullanmak istiyorsanız).
1mysql_query(conn, "SET NAMES 'latin5' COLLATE 'latin5_turkish_ci'");




Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger | Printable Coupons