testi bir kere çözebilsin

haticephlvn hatice pehlevan

merhaba, hazırladığım sitede bir test hazırladım ve öğrenciden bu testi sadece bir kere çözmesini istiyorum. yani bir kere girebilecek teste. yapamıyorum ama :( proje ödevim. yardım edin lütfen. 

03-01-2014 22:13

    Php

    TeaMTurkeR Şenol TÜRKER

    testin bir id numarası vardır umarım eğer yoksa bir tane oluşturun ve her test için bir id verin,

    sonrasında bunun için birden fazla yöntem var bir kaç tane örnek vereyim;

    test id'si için session oluşturabilirsiniz eğer test çözülürse bir session oluşturup buna göre kontorl sağlayabilirsiniz

    veya yine aynı yolu izleyerek cookie oluşturabilirsiniz tabiki bunlar anlık çözümler kullanıcı tarayıcı kapatdığı an session kaybolur, cookie ise tarayıcının ön belleği temizlendiği zaman kaybolur.

    en iyi çözüm bir tablo oluşturmak ve testi çözen üyeleri bu tabloda tutmak.

    tablo için;

    id (int)

    test_id (int)

    uye_id(int)

    böyle bir tablo işinizi görecektir test çözüldüğü zaman testin ve üyenin id'sini tabloya kaydetdirirseniz bir daha aynı kullanıcı aynı testi çözemez eğer üyelik sisteminiz yoksa uye_id yerine kullanıcıların ip numaralarınıda tutabilirsiniz.

    03-01-2014 22:52

      haticephlvn hatice pehlevan

      üyelerin e postaları farklı. e postadan kontrol yaparak da olabilir mi? yada cookie dediniz. <?php 

         if (!@$_COOKIE["s1"]){

            // Eğer çerez yoksa soru gösterilsin

              // soru çözüldükten sonrada s1 adında bir çerez oluştur

       

              setcookie("s1","soru", time()+315,360,000);

      }else {

             echo "Bu testi daha önce çözdünüz..";

      }

      ?>
       böyle yaptım fakat çalışmadı. :( 

      04-01-2014 00:34

        Php

        safiye safiye

        COOKIE ömrü bitince tekrar  cözer COOKIE denetlemesi yaparsan

        epostaylada olur

        test tablosunda

        uyenin epsotasını kaydetmen gerek

        uye varsa  sen cözmüssün

        uye yoksa testti cöz

         

        böyle  olur  sanki:-D

         

         

        04-01-2014 20:07

          Php

          TeaMTurkeR Şenol TÜRKER

          sağlıklı bir sonuç elde etmek istiyorsanız kesinlikle bir üyelik sistemi yazmanız lazım sisteminize ancak bu şekilde kesin bir sonuç elde edebilirsiniz.

          uyelik sisteminizi yazdıktan sonra ise daha önce bahsetdiğim şekilde bir test tablosuna çözülen testin ve testi çözen üyenin idsini tutarak yapabilirsiniz.

          kontorolünüzüde buna göre yapacaksınız örnek vereyim

           

          cozulen_testler adında bir tablomuz olduğunu varsayalım ve uye bir test çözüyor;

          çözeceği testin idsini alalım

          $get = $_GET['test_id'];

          $sor = mysql_query('select * from where test_id=".$get."');

          if(mysql_affected_rows()){

             echo'BU TESTİ ZATEN ÇÖZDÜNÜZ';

          }else{

          //test daha önce çözülmemiş ise testi ekrana basacağız

          $bas = mysql_fetch_assoc($sor);

          echo $bas['test_soru'];

          echo $bas['test_cevap_1'];

          echo $bas['test_cevap_2'];

          echo $bas['test_cevap_3'];

          echo $bas['test_cevap_4'];

          }

          04-01-2014 23:17

            Php

            badyguard14 Hilmi BORAN

            Merhaba Hatice Hanım,

            Soruları bir tabloda tuttuğunuzu ama testleri isim olarak tutmadığınızı varsayıyorum ve yol olarak izlemenizi tavsiye ettiğim yöntem şu;

            Soru adeti :tahmini 25 olsun
            kullanıcılar için eposta adreslerini tutan bir tablo, alanlar [id,eposta] 
            kayıt veyahut var mı yok mu sorgusuna ek olarak id'yi sessiona atarsınız sonrasında,cevap tablosunda kullanıcının idsine göre sonuçların sayısını alırsınız 25'e denk ise çözmüştür değilse,  soruların cevaplarını kayıt ederken fazladan bir de kullanıcının idsini sessiondan alıp kayıt ettiriniz.Tabi bu yöntem bir kez işler şu hali ile ama soruların tekil idlerine göre bir koşul ile de bir çok test için kullanılabilir.

            İyi çalışmalar.

            06-01-2014 22:42

              www.Phpkodlari.com © 2009 Herkes Php öğrenecek
              Web tasarım ve eğitim kaynağınız.