• 15-01-2009, 19:50:49
    #1
    Üyeliği durduruldu
    günlerdir üzerinde çalıştığım ziyaretçi defterine güvenlik kodu eklemek istedim. kodları buldum ancak güvenlik kodunu doğruda girsek yanlışta, formdan gelen bilgiler veritabanına kaydoluyordu. kod yanlış girildiğinde uyarı vermesini ve veritabanına eklenmemesini sağladım. ancak kod doğru girildiğinde sadece uyarı mesajı verebiliyorım "yanlış girdiniz" gibi. kod doğru girincede doğru girildi uyarısı veriyor ama oraya sql'e yazdırma kodunu entegre edemedim. captha ve form sayfalarının kodlarını veriyorum, yardımlarınızı bekliyorum.. teşekkürler

    captchanın bağlı olduğu sayfa (post sayfası)

    <?
    session_start();
    if (empty($_POST["kod"]) || empty($_SESSION["guv"]) || !$_SESSION["guv"]) {
    echo "<a href=form.php>Lütfen Form Sayfasýna Gidiniz..</a>";
    } else {
    if ($_POST["kod"] == $_SESSION["guv"]) {
    echo "<meta http-equiv=refresh content=0;url=http://www.google.com.tr>";
    unset($_SESSION["guv"]);
    exit;
    } else {
    echo "<a href=form.php>Güvenlik Kodu Hatalý Lütfen Yeniden Deneyiniz...</a>";
    }
    }
    ?>
    formun bağlı olduğu sayfa (post sayfası)

    <?
    @mysql_connect("localhost","root","") or die("HATA");
    @mysql_select_db("zd") or die("HATA");
    
    $adsoyad = $HTTP_POST_VARS['adsoyad'];
    $eposta = $HTTP_POST_VARS['eposta'];
    $mesaj = $HTTP_POST_VARS['mesaj'];
    $tarih = date("d.m.y");
    
    $sql = "INSERT INTO defter (adsoyad,eposta,mesaj,tarih) VALUES ('$adsoyad','$eposta','$mesaj','$tarih')";
    @mysql_query($sql) or die("HATA");
    echo "<center>Mesajınız eklendi, teşekkürler.<br><br>Şimdi anasayfaya yönlendiriliyorsunuz...</center>";
    echo "<meta http-equiv=refresh content=7;url=index.php>";
    mysql_close();
    ?>
  • 15-01-2009, 20:05:17
    #2
    Üyeliği durduruldu
    echo "<meta http-equiv=refresh content=0;url=http://www.google.com.tr>";

    işlevi nedir?
  • 15-01-2009, 20:53:31
    #3
    Üyeliği durduruldu
    güvenlik kodu doğru yazılınca google a yönleniyor. o işe yarıyor yani
  • 15-01-2009, 20:57:11
    #4
       <?
    session_start();
    if (empty($_POST["kod"]) || empty($_SESSION["guv"]) || !$_SESSION["guv"]) {
    echo "<a href=form.php>Lütfen Form Sayfasýna Gidiniz..</a>";
    } else {
    if ($_POST["kod"] == $_SESSION["guv"]) {
    echo "<meta http-equiv=refresh content=0;url=http://www.google.com.tr>";
    unset($_SESSION["guv"]);
    exit;
    } else {
    echo "<a href=form.php>Güvenlik Kodu Hatalý Lütfen Yeniden Deneyiniz...</a>";
    }
    }
    ?>
    Bu kodlardaki if ($_POST["kod"] == $_SESSION["guv"])
    buradaki if kişinin girdigi kod ile senin session a aldigin kodun eşitlik durumunu gösterir ki eger eşit ise hemen altina exit degilde mysql işlemlerini eklersen sorunun kalmayacagini düşünüyorum..

    Örnek :
       <?
    session_start();
    if (empty($_POST["kod"]) || empty($_SESSION["guv"]) || !$_SESSION["guv"]) {
    echo "<a href=form.php>Lütfen Form Sayfasýna Gidiniz..</a>";
    } else {
    if ($_POST["kod"] == $_SESSION["guv"]) {
    
    @mysql_connect("localhost","root","") or die("HATA");
    @mysql_select_db("zd") or die("HATA");
    
    $adsoyad = $HTTP_POST_VARS['adsoyad'];
    $eposta = $HTTP_POST_VARS['eposta'];
    $mesaj = $HTTP_POST_VARS['mesaj'];
    $tarih = date("d.m.y");
    
    $sql = "INSERT INTO defter (adsoyad,eposta,mesaj,tarih) VALUES ('$adsoyad','$eposta','$mesaj','$tarih')";
    @mysql_query($sql) or die("HATA");
    echo "<center>Mesajınız eklendi, teşekkürler.<br><br>Şimdi anasayfaya yönlendiriliyorsunuz...</center>";
    echo "<meta http-equiv=refresh content=7;url=index.php>";
    mysql_close();
    
    
    } else {
    echo "<a href=form.php>Güvenlik Kodu Hatalý Lütfen Yeniden Deneyiniz...</a>";
    }
    }
    ?>
    NOT : Kodu test etmedim
  • 15-01-2009, 21:03:49
    #5
    Üyeliği durduruldu
    evet sorun halloldu teşekkür ederim..