• 17-09-2008, 13:01:05
    #1
    Arkadaşlar oyun sitem için kullanacağım bir isteğim var..
    Çalışmayan oyunları bildirmeleri için kullanılacak.

    Sistem şöyle olacak;
    1.)Hata bildire tıklayınca 2 seçenek olacak.biri oyun açılmıyor diğeri ise oyun sorunlu. Bunlardan birini seçip hatayı bildir butonuna tıklayacak.
    2.)Hata Mail adresime oyun başlığı ve oyunun adresi (url) gelecek..bir kaç da yazı vs. işte
    3.)Hatası Bildirilen oyun bir daha bildirilmeyecek..Şöyle bir yazı karşılayabilir.
    Bu oyun önceden bildirilmiş ve gerekn yapılmıştır diye.

    umarım net olarak anlatabilmişimdir.
    Ne kadar uğraştırıcı olduğunu bilmiyorum..Ücretsiz yapan olursa sevinirim. şayet bir ücret gerekirse fiyatı konu içine yazabilirsiniz.

    teşekkürler..
  • 17-09-2008, 22:30:40
    #2
    Ücret istemez, terazinin tozunu alıver yeter.

    Eğer PHP biliyorsan nasıl yapılacağını anlatiyim.

    sametweb basit php betikler ve ipuçları - Blogcu >> Bu adresteki mail gönderme scriptini mail gönderirken kullan.

    Oyunları tuttuğun tabloya bir "hatabildirimi" kolonu ekle. Default değeri 0 olsun. Birisi hata bildirdiği zaman "hatabildir.php?oyunid=2" dendiğinde mesela şöyle bir sorgu çalıştır;

    if ($oyun[hatabildirimi] == 0) {
     
    Hata bildirme sayfası. Mail gönderme vs. vs. vs.
     
    mysql_query("UPDATE `oyunlar` SET `hatabildirimi` = '1' WHERE `oyunid` = '".$_GET['oyunid']."'");  // bunu yap ki oyun bildirildikten sonra hatabildirimi kolonundaki değer 1 olsun ve bir daha bildirildiğinde alttaki kodlar uygulansın.
     
     } else {
     
    echo " Bu oyun daha önce rapor edilmiş.",
     
    }
  • 18-09-2008, 12:43:34
    #3
    hatabildir.php
    <?php
    if($_GET[url] == '') header("Location: http://www.sitem.com/?hata=url_bos");
    if($_POST){
    $mesaj = 'Hata Bildirme Maili
    Hatalı Oyun Url: '.$_POST[url].'
    Hata Türü: '.$_POST[hata_turu].'
    imza';
    mail('admin@sitem.com', 'Hata Bildirme', $mesaj, 'From: "Hatabildirme Programı" <admin@sitem.com>');
    header("Location: ".$_POST[url]);
    }
    ?>
    <form method="post" action="hatabildir.php" name="hatabildir">
    <input name="url" type="text" size="50" value="<?php echo $_GET[url]; ?>" readonly><br>
    <select name="hata_turu">
    <option value="Oyun Bozuk">Oyun Bozuk</option>
    <option value="Oyun Hatalı">Oyun Hatalı</option>
    </select><br>
    <input type="submit" value="Bildir">
    </form>
    Oyun oynama sayfalarınada şunu ekle;
    <?php
    echo '<a title="Hata bildir" href="hatabildir.php?url=http://www.sitem.com'.$_SERVER[REQUEST_URI].'">Hata Bildir</a>';
    ?>
    En basiti bu aynı oyunu birden fazla gönderttirmek istemiyorsan mysql kullanman lazım. Yada url leri txt de tutup oradan kontrol etmek lazım.
  • 18-09-2008, 16:27:58
    #4
    ErsaT verdiğini kullanıyorum..Teşekkürler..Basit ve kullanışlığı.
    bir de mail gönderildikten sonra sayfa yönlenmeden iletiniz gönderilmiştir, oyun incelenecektir gibi biraz yazı sunabilir miyiz.
  • 18-09-2008, 17:06:16
    #5
    LineDizayn adlı üyeden alıntı: mesajı görüntüle
    ErsaT verdiğini kullanıyorum..Teşekkürler..Basit ve kullanışlığı.
    bir de mail gönderildikten sonra sayfa yönlenmeden iletiniz gönderilmiştir, oyun incelenecektir gibi biraz yazı sunabilir miyiz.
    header("Location: ".$_POST[url]);
    Bu kısmı;
    echo 'Hata önerisi iletildi. Oyun incelenecektir';
    olarak değiştirebilirsin.
    Ayrıca şöyle kullanabilirsin, gönderilmiş url lerde uyarı veriyor.
    <?php
    //Hatalı url boşsa yönlendir
    if($_GET[url] == ''){
    //header("Location: http://www.sitem.com/?hata=url_bos");
    echo 'Hatalı url boş olamaz.';
    exit();
    }
    //Önceden URL bildirilmişmi kontrol et
    $kontrol_dosya = file_get_contents('hatabildir.txt');
    $parcala = explode("\n", $kontrol_dosya);
    if(in_array($_GET[url], $parcala)){
    //header("Location: http://www.sitem.com/?hata=daha_once_bildirilmis");
    echo 'İçerik daha önce iletilmiş.';
    exit();
    }
    //Form post edilince çalış
    if($_POST){
    $mesaj = 'Hata Bildirme Maili
    Hatalı Oyun Url: '.$_POST[url].'
    Hata Türü: '.$_POST[hata_turu].'
    imza';
    //Mail gönder
    mail('admin@sitem.com', 'Hata Bildirme', $mesaj, 'From: "Hatabildirme Programı" <admin@sitem.com>');
    //URL önceden gönderilmişmi kontrol etmek için url yi kaydet
    $dosya = fopen('hatabildir.txt', 'a');
    fputs($dosya, $_POST[url]."\n");
    fclose($dosya);
    //İş bitti hatalı url ye yönlen
    //header("Location: ".$_POST[url]);
    echo 'Hata iletisi gönderildi. Hata bildiriminiz incelenecek';
    exit();
    }
    //Hatabildir formu
    ?>
    <form method="post" action="hatabildir.php" name="hatabildir">
    <input name="url" type="text" size="50" value="<?php echo $_GET[url]; ?>" readonly><br>
    <select name="hata_turu">
    <option value="Oyun Bozuk">Oyun Bozuk</option>
    <option value="Oyun Hatalı">Oyun Hatalı</option>
    </select><br>
    <input type="submit" value="Bildir">
    </form>
    hatabildir.txt oluştur dizinde. CHMOD 777 olarak değiştir.

    Alıntı
    <!-- hata bildir -->
    <input style="font-size:10px; border:1px solid red; background-color:#FFCC00; color:black;" type="button" value="Hata Bildir" onClick="if(confirm('Hatalı url bildiriyorsunuz eminmisiniz?\nLütfen bir kez daha gözden geçirin!')){ window.open('hatabildir.php?url=http://www.sitem.com<?php echo $_SERVER['REQUEST_URI']; ?>', '_self') }">
    Buda hediyesi (: