• 20-10-2019, 19:57:28
    #10
    ben böyle bir fonksiyon kullanıyorum. Büyük harf ve rakam üretir ve uzunluğu 10 yaptım for içerisinden değiştirebilirsin. Select sorgusunda kodların kaydedildiği tabloyu ve sütunu yazman gerek. Eğer var ise başka kod üretir.

    function orderCode(){
    global $db;
    $degerler = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    $sifre = array();
    $YaziSay = strlen($degerler) - 1;
    for ($i = 0; $i < 10; $i++) { $n = rand(0, $YaziSay); $sifre[] = $degerler[$n]; }
    $sql = $db->prepare("SELECT * FROM customerOrders WHERE code=?");
    $sql->execute(array($sifre));
    $c = $sql->rowCount();
    if( $c > 0 ){
    $sifre = "";
    return orderCode();
    }else{
    return implode($sifre);
    }
    }
  • 20-10-2019, 20:01:06
    #11
    BND
    Üyeliği durduruldu
    Büyük harf içinse $ehiste=strtoupper($ehiste);
  • 20-10-2019, 20:20:24
    #12
    Tarih saat ve saniyeyi birleştirip bir rakam haline getirin ve md5 ile şifreleyin. Veya sonuna ve başına tahmin edilemeyen bir iki karakter daha ekleyebilirsiniz. En benzersiz bu bence. Tabi aynı saniyede yüzlerce kod üretilirse sorun olur.
  • 21-10-2019, 09:59:32
    #13
    emreakdascomtr adlı üyeden alıntı: mesajı görüntüle
    ben böyle bir fonksiyon kullanıyorum. Büyük harf ve rakam üretir ve uzunluğu 10 yaptım for içerisinden değiştirebilirsin. Select sorgusunda kodların kaydedildiği tabloyu ve sütunu yazman gerek. Eğer var ise başka kod üretir.

    function orderCode(){
    global $db;
    $degerler = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    $sifre = array();
    $YaziSay = strlen($degerler) - 1;
    for ($i = 0; $i < 10; $i++) { $n = rand(0, $YaziSay); $sifre[] = $degerler[$n]; }
    $sql = $db->prepare("SELECT * FROM customerOrders WHERE code=?");
    $sql->execute(array($sifre));
    $c = $sql->rowCount();
    if( $c > 0 ){
    $sifre = "";
    return orderCode();
    }else{
    return implode($sifre);
    }
    }
    Bu fonksiyon işime yarayacak gibi hocam teşekkürler.
  • 21-10-2019, 12:15:04
    #14
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    Bu fonksiyon işime yarayacak gibi hocam teşekkürler.
    ne demek
  • 21-10-2019, 14:39:48
    #15
    Uniqid timestamp'e göre veri üretir, bu şekilde benzersiz değerler alırsın.

    Yukarıdaki arkadaşın yaptığı gibi kendin oluştur, sql ile kontrolünü sağla ama optimizasyon için tavsiye edilir mi dersen hayır.