• 03-04-2009, 01:47:34
    #1
    Üye kayıt bölümünde bir sorunla boğuşuyorum.
    Üye kaydını başarıyla yapıyor ve veritabanınada bilgileri ekliyor , normal olarak yönlendirme kodu devreye giriyor ancak profil sayfasına yönlendireceği sırada tekrar bilgilerde eksiklik olan uyarı bölümü ekrana geliyor ve yine kayıt sayfası açılıyor.

    Üstatlar fonksiyon aşağıda. 2 saattir didik didik ettim sorunu çözemedim.Hangi kodu hangisinden sonra veya önce koyacağımı çözemedim.

    // -- UyeKayit Başlangıç
    function UyeKayit() {
    global $prefix;
    TabloAc();
    
    $KullaniciAdi    = htmlspecialchars(strip_tags(KodTemizle($_POST["kullaniciadi"])));
    $Sifre            = strlen(htmlspecialchars(strip_tags($_POST["sifre"])));
    $SifreTekrar    = strlen(htmlspecialchars(strip_tags($_POST["sifretekrar"])));
    $Sifre1            = md5($Sifre);
    $Email            = htmlspecialchars(strip_tags(KodTemizle($_POST["email"])));
    $Tarih            = date("d/m/Y");
    $Saat            = date("H:i:s");
    $Kullaniciİp    = $_SERVER["REMOTE_ADDR"];
    $Avatar            = "uye.gif";
    
    
        if ($KullaniciAdi=="") or ($Sifre=="") or ($Email=="") or ($Sifre < 4)) {
            echo "Gereken bilgilerin birkaçı veya hiçbiri girilmemiş.Lütfen gereken bilgi(leri) alana yazın<br />Bekleyin yönlendiriliyorsunuz...";
            header("Refresh: 4; url=index.php?Git=Profil&Sayfa=YeniUyelik");
        }elseif($Sifre !== $SifreTekrar) {
            echo "Şifreler Uyuşmuyor. Kontrol ederek tekrar formu doldurunuz<br />Bekleyin yönlendiriliyorsunuz...";
            header("Refresh: 4; url=index.php?Git=Profil&Sayfa=YeniUyelik");
        }else {
            
            $sor = mysql_query("SELECT uyeadi,email FROM ".$prefix."uyeler WHERE uyeadi='$KullaniciAdi' or email='$Email'");
            
            if (mysql_num_rows($sor) > 0) {
                echo "Bu isim veya email adresi ile zaten kayıt yapılmış. Bekleyin kayıt formuna yönlendiriliyorsunuz...";
                header("Refresh: 5; url=index.php?Git=Profil&Sayfa=YeniUyelik");
                
            }else {
        
                $ekle = mysql_query("INSERT INTO ".$prefix."uyeler (uyeadi,sifre,email,avatar,kayittarihi,kayitsaati,kayitip) values ('$KullaniciAdi','$Sifre1','$Email','$Avatar','$Tarih','$Saat','$Kullaniciİp')");
                if($ekle) {
                    echo "Kayıtınız tamamlandı.Aramıza Hoşgeldiniz Sayın <b>".$KullaniciAdi."</b><br />Bekleyin Profil sayfanıza yönlendiriliyorsunuz...";
                    header("Refresh: 4; index.php?Git=Profil&Sayfa=Uye");
                    }else {
                    echo "HATA ! Kayıt yapılamadı.<br />Tekrar kayıt sayfasına yönlendiriliyorsunuz...";
                    header("Refresh: 4; url=index.php?Git=Profil&Sayfa=YeniUyelik");
                }
            }    
        }
    TabloKapat();
    }
    // -- UyeKayit BitiÅŸ
  • 03-04-2009, 09:00:10
    #2
    Üyeliği durduruldu
    bu kodları siz mi yazdiniz?
  • 03-04-2009, 09:24:57
    #3
    Üyeliği durduruldu
    Aslında Hatayı Bulmak O kadar Basitki...
    Madem Kodlarla Boğuşmak İstemiyorsun ve Hiç Bişi Yapamıyorsan.
    Şu Refreshlerin Hepsi Aynı Nereye Gidiyor.
    Hepsini Ayrı Ayrı Yap.
    Ör 1. Git=Profil&Sayfa=YeniUyelik_blabla1
    Ör 2. Git=Profil&Sayfa=YeniUyelik_blabla2
    Ör 3. Git=Profil&Sayfa=YeniUyelik_blabla3
    vs vs...

    Sonra Tekrar Verierlini Gir ve Seni Hangi Yere Yonlendirdi ise Ona Göre Oradaki İf else Yapısını Kontrol Et.

    Ayrıca:
    Alıntı
    $KullaniciAdi = htmlspecialchars(strip_tags(KodTemizle($_POST["kullaniciadi"])));
    Bu yukardaki KodTemizle Fonksiyonu Ne işe Yarıyor? ve İçeriği Nerde?
    Zaten orada Strip_tags Var.