• 30-11-2012, 23:54:30
    #1
    Üyeliği durduruldu
    Merhaba arkadaslar ben css style ile inputuma büyük harf fonksiyonunu verdim şu şekilde

    <input name="ad" style="text-transform: uppercase; " type="text">
    ama benim sıkıntım herşeyi güzel büyük ö,ş,ç gibi türkçe harfeleride büyük yazıyor sıkıntı yok fakat i harfinde büyük İ degilde büyük I yazıyor buda php ile karsılastırmalarımda sorun cıkartıor benim isdedigim kücük i yi otomatik büyük I yerine büyük İ ye dönüştürsün php min komple hali düzenleyip verirseniz sevinirim.


    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859" />
    <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
    </head>
    <body>
    <form id="dogrula" method="post">
      <table>
    <tr><td>Adı: </td><td><input name="ad" style="text-transform: uppercase; " type="text"><br /></td></tr>
    <tr><td>Soyadı: </td><td><input name="soyad" style="text-transform: uppercase; " type="text" /><br /></td></tr>
    <tr><td></td><td><input type="submit" value="Gönder" /></td></tr>
    </table>
    </form>
    
    </body>
    </html>
  • 01-12-2012, 00:41:31
    #2
    text-transform: uppercase; talep bu kodla olmaz.

    php ile replace yapabilirsiniz form gönderildikten sonra.

    $_POST['ad'] = str_replace(array('i', 'ç'), array('İ', 'Ç'), $_POST['ad']);

    Not : dosyanın kodlamasına dikkat edin (encoding diye de geçer).
  • 01-12-2012, 11:56:47
    #3
    Üyeliği durduruldu
    miscel adlı üyeden alıntı: mesajı görüntüle
    text-transform: uppercase; talep bu kodla olmaz.

    php ile replace yapabilirsiniz form gönderildikten sonra.

    $_POST['ad'] = str_replace(array('i', 'ç'), array('İ', 'Ç'), $_POST['ad']);

    Not : dosyanın kodlamasına dikkat edin (encoding diye de geçer).
    dusunmedım degil fakat soyle bir sıkıntım var.

    $_POST['ad'] = str_replace(array('i', 'ç'), array('İ', 'Ç'), $_POST['ad']);
    aynen bu kodu yazdım. 2. dogrulama sayfasına

     $requestData = array( // Formdan gelen deðerler
        "Ad" => $_POST['ad'] = str_replace(array('i', 'ç'), array('İ', 'Ç'), $_POST['ad']),
        "Soyad" => $_POST['soyad'],
    bu şekilde ama hala POST ta veriyi kücük harf olarak okuyor
  • 01-12-2012, 12:01:29
    #4
    iki dosya arasındaki veri transferinin kodlanması da aynı olmalı. Veriyi gönderdikten sonra nasıl geçiş yaptığını test eder misiniz? (ç ikinci dosyaya nasıl gidiyor bunu bilmeliyiz)
    Hepsinin bir çözümü var öncelikle bunu söyleyeyim.

    Rahatlık açısından dosyaların kodlamasını utf-8 yapın. Bazen yapıldığı sanılıyor, emin olun bu durumdan.
  • 01-12-2012, 12:09:02
    #5
    Üyeliği durduruldu
    miscel adlı üyeden alıntı: mesajı görüntüle
    iki dosya arasındaki veri transferinin kodlanması da aynı olmalı. Veriyi gönderdikten sonra nasıl geçiş yaptığını test eder misiniz? (ç ikinci dosyaya nasıl gidiyor bunu bilmeliyiz)
    Hepsinin bir çözümü var öncelikle bunu söyleyeyim.

    Rahatlık açısından dosyaların kodlamasını utf-8 yapın. Bazen yapıldığı sanılıyor, emin olun bu durumdan.
    <?
    header ('Content-type: text/html; charset=utf-8');
    echo str_replace(array('i', 'ç'), array('İ', 'Ç'), $_POST['ad']);
    
    ?>
    şeklinde olumlu bir sonuc alıyorum peki bunu oteki post verisine nasıl uyarlarım ?
  • 01-12-2012, 12:23:15
    #6
    $tr = array('i', 'ç', 'ş');
    $utr = array('İ', 'Ç', 'Ş');

    $_POST['ad'] = str_replace($tr, $utr, $_POST['ad']);

    $_POST['soyad'] = str_replace($tr, $utr, $_POST['soyad']);

    dizideki karakterleri arttırırsanız tüm karakterler olur.
  • 01-12-2012, 12:26:04
    #7
    Üyeliği durduruldu
    miscel adlı üyeden alıntı: mesajı görüntüle
    $tr = array('i', 'ç', 'ş');
    $utr = array('İ', 'Ç', 'Ş');

    $_POST['ad'] = str_replace($tr, $utr, $_POST['ad']);

    $_POST['soyad'] = str_replace($tr, $utr, $_POST['soyad']);

    dizideki karakterleri arttırırsanız tüm karakterler olur.
    her bir değişkene

    str_replace(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','w','x'),
     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','W','X'), $_POST['ad'])
    şeklinde str_replace atadım sorun cozuldu teşekkürler
  • 01-12-2012, 12:31:36
    #8
    sadece Türkçe karakterleri replace fonksiyonu ile değiştirip ardından strtoupper ile diğer kalan karakterleri büyüğe çevirebilirsiniz. Bu da 2.yöntem ve şık görünür.

    öncesi = ÇalIŞkan Çocuk iken;
    $_POST['ad'] = strtoupper($_POST['ad']);
    sonrası = ÇALIŞKAN ÇOCUK olur.
    iyi çalışmalar
  • 01-12-2012, 12:37:09
    #9
    Üyeliği durduruldu
    stroupper için function değişkeni falan atamak gerek urasmaya gerek yok teşekkürler