• 25-01-2013, 13:47:14
    #1
    <form action="index.php" method="post">
    <p>Urun adi:<input type="text" name="urun_adi"> <br/></p>
    <p>Alış Fiyatı:<input type="text" name="a_fiyat"></p>
    <p>Satış Fiyatı:<input type="text" name="s_fiyat"></p>
    <p>Para birimi: <select name="pb" id="pb">
    <option value="" selected="selected">Para Birimi seçiniz </option>
    <option value="Turk Lirasi"> Türk Lirası </option>
    <option value="dolar">Dolar</option>
    <option value="euro">Euro </option>	
    <p><input  type="submit" value="Onayla"> </p>
    </form>
    
    <?php
    $host= "localhost";
    $vt_adi= "urun";
    $kullanici= "root";
    $sifre="";
    $tablo= "urun_ekleme";
    $db = mysql_connect($host,$kullanici,$sifre) or die ("Hata var");
    $vt_sec =@mysql_select_db($vt_adi,$db) or die ("Veritabanına bağlanamadı");
    /*            
    ------------------
    */
    $urun_adi =@$_POST['urun_adi'];
    $a_fiyat = @$_POST['a_fiyat'];
    $s_fiyat = @$_POST['s_fiyat'];
    $pb = @$_POST['pb'];
    
    if(empty($urun_adi) && empty($a_fiyat) && empty($s_fiyat)) {
    	echo "hatalı";
    
    }
    
    $ekle = mysql_query("INSERT INTO $tablo	 (ad,afiyat,sfiyat,pbirim) VALUES ('$urun_adi','$a_fiyat','$s_fiyat','$pb')") or die (mysql_error());
    exit();
    ?>

    bir veri gönderdikten sonra sayfayı reflesh yapıldığı zaman en son veriyi tekrar veritabanına yazıyor. ayrıca formda bulunan textlere yazı yazılmadığı takdirde "bütün alanları doldurunuz" yazısını buton tıklandığı zaman çıkmasını istiyorum.

    Veritabanı ve php dosyası:
    https://docs.google.com/file/d/0B0yI...tfdkYxU1U/edit
  • 25-01-2013, 16:21:41
    #2
    if($_POST){
    //Eğer post edilmişse
    }else{
    Edilmemiş ise
    }


    gibi ayırabilirsiniz.
  • 25-01-2013, 17:34:12
    #3
    kayıt işlemini ayrı bir sayfada yapın bence en sağlıklısı odur. Form action kısmını boş bıraktığınızda ne oluyor denediniz mi? Çünkü index.php her refresh olduğunda kayıt yapacaktır bu şekilde.
  • 26-01-2013, 11:40:50
    #4
    dj_nuz adlı üyeden alıntı: mesajı görüntüle
    kayıt işlemini ayrı bir sayfada yapın bence en sağlıklısı odur. Form action kısmını boş bıraktığınızda ne oluyor denediniz mi? Çünkü index.php her refresh olduğunda kayıt yapacaktır bu şekilde.
    action kısmı boş olduğunda değişen birşey olmuyor.
  • 26-01-2013, 12:33:33
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    refresh edildikçe ekler. post edilmiş, gönderilmiş formlar tarayıcılarda unutulmuyor sanırım, refresh yapınca yeniden gönderiyor. çözüm olarak hash kullanabilirsiniz. benzersiz bir hash oluşturup session'a ve hidden bir alana kayıt edin. daha sonra kayıt işlemin yapıldığı yerde bunu karşılaştırıp bir işlem yapın. işlemden sonrada session değerini silin veya değiştirin. tekrar çalıştırıldığında sayfa, session ve hash değeri eşleşmediğinden kayıt yapmayacaktır.