• 10-11-2009, 03:04:27
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    0544 500 10 20 gibi bir cep telefonu numarası düşünün adam bunu bu şekilde yazıyor mesela ama benim yapmak istediğimiz ise PHP ile boşluk kontrolu yapmak

    ve usere = numaranızda boşluk bırakamazsınız demek, kısacası üyeye numarasını 0544 500 10 20 şeklinde boşluklu değil de 05445001020 şeklinde bitişik yazdırmak istiyorum.

    ECHO 'numaranızda boşluk bırakamazsınız demek'; Hatasını verebilirim kodlama içerisine kolay ama BOŞLUK kontrolunü yapacak fonksiyon bilmiyorum

    PHP nin kendinde bunun için bir fonksiyon varmı yada siz ne önerebilirsiniz boşluk kontrolu yapmak için.

    Şunuda belirtmek isterim ki 0544 500 10 20 nosunu adam yazdığında otomatik olarak boşluğunu almaktan, sayıları birbirine yapıştırmaktan bahsetmiyorum, yada bunu JS ile de yapmak istemiyorum, bunlarıda belirtmek isterim.

    sadece boşluk varmı ? yok mu bunun kontrolu yapılıcak php ile.
  • 10-11-2009, 03:31:25
    #2
    Üyeliği durduruldu
    Eğer sadece 05445444444 formatında olacak ise is_numeric kullanmanı tavsiye ederim.

    if ( !is_numeric($numara) )
    echo 'boşluk olmadan sadece sayı girin';
    yada şu şekilde yaparak daha sağlama alabilirsiniz. Hem karakter sayısını saydırmaklada uğraşmazsınız.

    if(ereg("^[0-9]{11}$", $numara)) echo 'doğru'; else echo 'yanlış';
  • 10-11-2009, 03:35:33
    #3
    Form alanını 11 ile sınırlamakta basit bir çözüm olabilir
  • 10-11-2009, 04:31:11
    #4
    Üyeliği durduruldu
    if (preg_match('@\s+@', $numara)) {
        echo 'Cep Telefon Numaranızda boşluk bırakamazsınız!';
    } else if (!is_numeric($numara)) {
        echo 'Cep Telefon Numaranız sadece rakamlar olarak girilmelidir, rakam dışı karakterler kullanamazsınız!';
    } else if (strlen($numara) > 11) {
        echo 'Cep Telefon Numaranız 11 karakterden uzun olamaz!';
    } else if (strlen($numara) < 11) {
        echo 'Cep Telefon Numaranız 11 karakterden kısa olamaz!';
    }
  • 10-11-2009, 08:43:51
    #5
    devturkeli adlı üyeden alıntı: mesajı görüntüle
    if (preg_match('@\s+@', $numara)) {
        echo 'Cep Telefon Numaranızda boşluk bırakamazsınız!';
    } else if (!is_numeric($numara)) {
        echo 'Cep Telefon Numaranız sadece rakamlar olarak girilmelidir, rakam dışı karakterler kullanamazsınız!';
    } else if (strlen($numara) > 11) {
        echo 'Cep Telefon Numaranız 11 karakterden uzun olamaz!';
    } else if (strlen($numara) < 11) {
        echo 'Cep Telefon Numaranız 11 karakterden kısa olamaz!';
    }
    Bu (preg_match('@\s+@', $numara)) olayını hemen deniyeceğim, ayrıca < 11 - > 11 yani 11 den küçükse ve 11 den büyükse olayını bende düşünmüş hatta yapmıştım ancak yinede böyle detaylı düşünüp 4 farklı hatayıda gösterdiğin için teşekkür edeirm.


    MrHades sanada tşk ederim, yannız is_numeric fonksiyonu bunun rakamlardan oluşup olşuşmadığını tesbit ediyor sanırım ? oradaki ünlem is_numeric in başına gelince aradaki boşluklarımı kontrol edilyor sahiden çok ilginc bunuda deniceceğim.

     if ( !is_numeric($numara) ) 
    echo 'boşluk olmadan sadece sayı girin';
  • 10-11-2009, 09:24:50
    #6
    Üyeliği durduruldu
    ctype fonksiyonlarindan ctype-digit i kullanabilirsiniz

    http://php.net/manual/tr/function.ctype-digit.php

    Guvenlik egitim cd im de detayli anlatmistim
    https://www.r10.net/php/490072-hersey...udan-ucuz.html
  • 10-11-2009, 13:01:27
    #7
    Üyeliği durduruldu
    NEFRIT adlı üyeden alıntı: mesajı görüntüle
    Bu (preg_match('@\s+@', $numara)) olayını hemen deniyeceğim, ayrıca < 11 - > 11 yani 11 den küçükse ve 11 den büyükse olayını bende düşünmüş hatta yapmıştım ancak yinede böyle detaylı düşünüp 4 farklı hatayıda gösterdiğin için teşekkür edeirm.


    MrHades sanada tşk ederim, yannız is_numeric fonksiyonu bunun rakamlardan oluşup olşuşmadığını tesbit ediyor sanırım ? oradaki ünlem is_numeric in başına gelince aradaki boşluklarımı kontrol edilyor sahiden çok ilginc bunuda deniceceğim.

     if ( !is_numeric($numara) ) 
    echo 'boşluk olmadan sadece sayı girin';
    ! işaretinin php'deki anlamı fonksiyonun TAM TERSİ 'dir. Örneğin; is_numeric - Numerik sayıları kontrol ederken, !is_numeric numerik olmayan sayıları kontrol eder. Yada empty() boş değerleri kontrol ederken, !empty() boş olmayan değerleri kontrol eder.
  • 10-11-2009, 15:48:46
    #8
    strpos fonksıyonu ile şu şekilde yapabilirsin

    <?php
    
    $numara="0505 555 55 55";
    $aranacak=" ";
    $arama=strpos($numara,$aranacak);
    if($arama===false) {
    // boşluk yoksa yapılacaklar
    echo "Boşluk kullanmadınız teşekkürler :) ";
    } else {
    
    // boşlu varsa yapılacaklar
    echo "Lütfen boşluk kullanmayınız !"; 
    
    }  
    
    ?>
  • 11-11-2009, 17:55:29
    #9
    niye bu kadar süpriz arıyorsun ki str_replace ile boşluğu sil geç

    $cep= $_POST["cepno"];
    
    $cepno = str_replace(" ","",$cep);