Türkçe Karakter Engelleme

  • Konbuyu başlatan Konbuyu başlatan Rapture
  • Başlangıç tarihi Başlangıç tarihi
Konu Yazar

Rapture

Member
Kas
275
0
arkadaşlar şu sayfada türkçe karakterli giriş yapılmasın istiyorum bu sayfa şifre değiştirme sayfası yeni şifresini yazarken türkçe karakter kullanmasın hata versin veya uyarsın yapılabilirmi böyle bi şey


PHP:
<? 
include('baglanti/settings.php'); 
?> 
<center> 
<link href="style66.css" rel="stylesheet" type="text/css" /> 
<body> 
                                   
                                  <? 
include("baglanti/settings.php"); 
    $msconnect=odbc_connect("$dbname","$dbuser","$dbpass"); 
    $oldpassword = $_POST['old_passw']; 
    $newpassword = $_POST['new_pass']; 
    $newpassword_onay = $_POST['new_pass_onay']; 
    $getoldpw = odbc_exec ($msconnect, "SELECT strPasswd FROM TB_USER WHERE strAccountId = '".$_POST['ID']."'"); 
    $oldpw=odbc_result($getoldpw, 1); 
     
        if ($oldpassword == $oldpw) { 
            if ($newpassword != $newpassword_onay) { 
                $changePassword = "<center><font size = 3> 
                  Yazdiginiz Sifreler Birbiriyle Uyusmuyor!..<a class=style1 href='sifre.php'>Tekrar Deneyin</a> 
                </center></font>"; 
            } else { 
                $msteste="SELECT COUNT(strACcountID) FROM TB_USER WHERE strACcountID = '".$_POST['ID']."'"; 
                $msresul=odbc_exec($msconnect,$msteste) or die($lang[27]); 
                odbc_fetch_row($msresul); 
                if (odbc_result($msresul,1) > 0) { 
                    $mschange = "UPDATE TB_USER SET strPasswd = '".$newpassword."' WHERE strAccountID = '".$_POST['ID']."'"; 
                    $msresul=odbc_exec($msconnect,$mschange) or die($lang[27]); 
                    $changePassword = "<center> 
                      Sifreniz Basariyla Degisti ".$_POST['ID']." <br /> 
<font size = 3> 
Anasayfaya Dönmek için <a class=style1 href='sifre.php'><font size = 3>Tiklayin.</a></font> 
                    </center>"; 
                } 
                 else { 
                    $changePassword = "<center> 
                      <font size = 3>Yanlis Sifre ! <a class=style1 href='sifre.php'><font size = 3>Tekrar Deneyin</a> 
                    </center>"; 
                } 
            } 
}else { 
                    $changePassword = "<center><font size = 3> 
                      Yanlis Sifre ! <a class=style1 href='sifre.php'><font size = 3>Tekrar Deneyin</a></font> 
                    </center>"; 
                } 
            echo $changePassword; 
?> 
                                   
                                  </td> 
                                </tr> 
    </table> 
</div> 
 
</body>
 
Cevap: Türkçe Karakter Engelleme

kodun düzenlenmiş hali
PHP:
<? 
include('baglanti/settings.php'); 
?> 
<center> 
<link href="style66.css" rel="stylesheet" type="text/css" /> 
<body> 
                                   
                                  <? 
include("baglanti/settings.php"); 
    $msconnect=odbc_connect("$dbname","$dbuser","$dbpass"); 
    $oldpassword = $_POST['old_passw']; 
    $newpassword = $_POST['new_pass']; 
    $newpassword_onay = $_POST['new_pass_onay']; 
    $getoldpw = odbc_exec ($msconnect, "SELECT strPasswd FROM TB_USER WHERE strAccountId = '".$_POST['ID']."'"); 
    $oldpw=odbc_result($getoldpw, 1); 
     
        if ($oldpassword == $oldpw) { 
            if ($newpassword != $newpassword_onay) { 
                $changePassword = "<center><font size = 3> 
                  Yazdiginiz Sifreler Birbiriyle Uyusmuyor!..<a class=style1 href='sifre.php'> Tekrar Deneyin</a> 
                </center></font>"; 
            } 
              elseif (ereg('[^A-Za-z0-9]', $newpassword)) { 
              $changePassword = "Turkce karakter kullanamazsınız!.. <a class=style1 href='sifre.php'> Tekrar Deneyin</a> 
                      </center></font>";
             } 
        else { 
                $msteste="SELECT COUNT(strACcountID) FROM TB_USER WHERE strACcountID = '".$_POST['ID']."'"; 
                $msresul=odbc_exec($msconnect,$msteste) or die($lang[27]); 
                odbc_fetch_row($msresul); 
                if (odbc_result($msresul,1) > 0) { 
                    $mschange = "UPDATE TB_USER SET strPasswd = '".$newpassword."' WHERE strAccountID = '".$_POST['ID']."'"; 
                    $msresul=odbc_exec($msconnect,$mschange) or die($lang[27]); 
                    $changePassword = "<center> 
                      Sifreniz Basariyla Degisti ".$_POST['ID']." <br /> 
<font size = 3> 
Anasayfaya Dönmek için <a class=style1 href='sifre.php'><font size = 3>Tiklayin.</a></font> 
                    </center>"; 
                } 
                 else { 
                    $changePassword = "<center> 
                      <font size = 3>Yanlis Sifre ! <a class=style1 href='sifre.php'><font size = 3>Tekrar Deneyin</a> 
                    </center>"; 
                } 
            } 
}else { 
                    $changePassword = "<center><font size = 3> 

                      Yanlis Sifre ! <a class=style1 href='sifre.php'><font size = 3>Tekrar Deneyin</a></font> 
                    </center>"; 
                } 

            echo $changePassword; 
?> 
                                   
                                  </td> 
                                </tr> 
    </table> 
</div> 



</body>

yukarda hazır halde olan kodun açıklaması:

ilk kontrol döngümüzün bitişinden sonra

PHP:
elseif (ereg('[^A-Za-z0-9]', $newpassword)) { 
              $changePassword = "Turkce karakter kullanamazsınız!.. <a class=style1 href='sifre.php'> Tekrar Deneyin</a> 
                      </center></font>";
             }

eklediğimizde latin-1 alfesi(ingilizce) ve rakamlar dışındaki girdiler hata verdiriz
 
Geri
Üst Alt