• 10-06-2010, 22:12:05
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar arkadaşlar;

    Yine Bir sorum ile sizlerin karşısındayım.. Bu seferki biraz mantık sorusu olacak ama yinede anlatayım.. Sorunum şu şekilde:
    Hazırlamak istediğim şey. Online Soru cevap sistemi.Amacımız Kullanıcılar sadece karşısına çıkacak soruları cevaplayarak Kaç doğru kaç yanlışı olduğunu görmesini sağlamaktır.
    Ben şimdi bir form aracılığı ile veritabanına formdaki soruyu, a-b-c-d şıklarını ve doğru cevabı yolladım. Ve bunu(veritabanındaki bilgileri) ayrı bir sayfada yazdırdım. Bu yazdırdığım bilgilerin içinde doğru cevap olan alanı yazdırmadım.
    Soruların Cevaplarının Her yanına radiobuton ekleyerek kullanıcıların buralardan seçimler yapılmasını sağlamak istedim. İşte asıl sorun buradan sonra başlıyor. Bu veritabanından çektiğim soruları veritabanındaki doğru cevap ile karşılaştırarak ekrana doğru yada yanlış olduğunu yazdırmak istiyorum.

    Buraya kadar geldim ama bundan sonrasını çözmüş değilim. bi zahmet el atarsanız sevinirim. Kodlarıda vereyim isterseniz..

    Test.php ( soru ekleme kısmı)
    <body>
    <form id="form1" name="form1" method="post" action="kaydet.php">
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <th width="15%" scope="col">Soru:</th>
          <th width="21%" scope="col"><label>
            <textarea name="soru" id="soru"></textarea>
          </label></th>
          <th width="49%" scope="col">&nbsp;</th>
          <th width="15%" scope="col">&nbsp;</th>
        </tr>
        <tr>
          <td>A.</td>
          <td><label>
            <input name="a" type="text" id="a" />
          </label></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>B.</td>
          <td><label>
            <input name="b" type="text" id="b" />
          </label></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>C.</td>
          <td><label>
            <input name="c" type="text" id="c" />
          </label></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>D.</td>
          <td><label>
            <input name="d" type="text" id="d" />
          </label></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>Doğru Cevap : </td>
          <td><label>
            <input name="dogru" type="text" id="dogru" />
          </label></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><label>
            <input type="reset" name="Submit2" value="Sil" />
          </label></td>
          <td><label>
            <input type="submit" name="Submit" value="G&ouml;nder" />
          </label></td>
          <td>&nbsp;</td>
        </tr>
      </table>
    </form>
    
    
    </body>
    kaydet.php ( soruların veritabanına kaydedildiği kısım)
    <?
    @mysql_connect("localhost","root","123456") or die("HATA");
    @mysql_select_db("test") or die(" VERITABANI HATASI");
    
    $soru = $_POST['soru'];
    $a = $_POST['a'];
    $b = $_POST['b'];
    $c = $_POST['c'];
    $d = $_POST['d'];
    $dogru = $_POST['dogru'];
    
    $sql = "INSERT INTO kontrol (soru,a,b,c,d,dogru) VALUES ('$soru','$a','$b','$c','$d','$dogru')";
    @mysql_query($sql) or die(" TABLO HATASI");
    echo "Basarili Bir sekilde haber eklendi..  !";
    echo "<br>";
    
    mysql_close();
    ?>
    yayimla.php ( soruları okuduğum kısım)

    <body>
    
    <?
    
    
    @mysql_connect("localhost","root","123456") or die("HATA");
        @mysql_select_db("test") or die(" VERITABANI HATASI");
    $sorgu=mysql_query("select * from kontrol ");
    
    while ($sonuc=mysql_fetch_array($sorgu))
    	{
    
    ?>
    <form id="form1" name="form1" method="post" action="">
      <table width="86%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <th width="8%" scope="col">Soru: </th>
          <th colspan="4" scope="col"><div align="left"><? echo "$sonuc[1]"; ?></div
          ></th>
        </tr>
        <tr>
          <td>A.
            <label>
            <input name="radiobutton" type="radio" value="radiobutton" />
          </label></td>
          <td colspan="2"><? echo "$sonuc[2]"; ?></td>
          <td width="14%">&nbsp;</td>
          <td width="14%">&nbsp;</td>
        </tr>
        <tr>
          <td>B.
            <label>
            <input name="radiobutton" type="radio" value="radiobutton" />
          </label></td>
          <td colspan="2"><? echo "$sonuc[3]"; ?></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>C.
            <label>
            <input name="radiobutton" type="radio" value="radiobutton" />
          </label></td>
          <td colspan="2"><? echo "$sonuc[4]"; ?></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>D.
            <label>
            <input name="radiobutton" type="radio" value="radiobutton" />
          </label></td>
          <td colspan="2"><? echo "$sonuc[5]"; ?></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td width="25%"><label>
            <input type="submit" name="Submit" value="G&ouml;nder" />
          </label></td>
          <td width="39%"><label>
            <input type="reset" name="Submit2" value="Temizle" />
          </label></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
      </table>
    </form>
    
    <? } ?>
    </body>
    İşte bundan sonrası gelmedi.
    Herkese teşekkürler şimdiden..

    Saygılarımla
  • 10-06-2010, 22:32:37
    #2
    ilk olarak sorunun ID'sini gizli bir input ile göndereceksin sonraki sayfaya sonra
    radiolara value vereceksin sıra ile

    <input name="radiobutton" type="radio" value="a" />
    <input name="radiobutton" type="radio" value="b" />
    gibi sonraki sayfada ise

    $cevap = $_POST['radiobutton'];
    şeklinde kullanicinin verdiği cevai alacaksin. bu cevabi mysql_query ile db deki ile karşılaştıracaksin. he unutmadan bu şekilde her cevaplamada sayfa post olacaktir. onun önüne geçmek için javascript veya tek form içinde tüm sorulari sorabilir tüm işaretlemeler yapılınca post ettirebilirsin.
  • 10-06-2010, 23:02:25
    #3
    Mantığını kavradım.. LaCReMeL teşekkürler.

    Saygılarımla
  • 10-06-2010, 23:07:26
    #4
    uslanmaz91 adlı üyeden alıntı: mesajı görüntüle
    Mantığını kavradım.. LaCReMeL teşekkürler.

    Saygılarımla
    Rica.. böyle sorulara can kurban detayli şekilde herşeyi anlatmişsin.
  • 11-06-2010, 03:04:30
    #5
    Yalnız hidden input ile çalıştığın zaman uyanığın biri sayfanın kodlarına bakarsa doğru cevabı görecektir. O yüzden ya hidden inputtaki veriyi şifreleyeceksin ya da hidden input yerine session kullanacaksın.