• 14-02-2009, 14:11:40
    #1
    merhaba arkadaşlar. önemli bir sorunum var. şuan bir online sınav sistemi kullanıyorum ve bunda soru sayısını text kutusu ile alıyorum. ama ben soru sayısını kullanıcının girmesini istemiyorum. zaten rastgele 20 soru soruyor. checkbox la işaretlesin, işaretlediği dersten 20 soru sorsun istiyorum. ama veriyi bi türlü gönderemedim. kodları aşağıya ekliyorum yardımcı olacak arkadaşlara şimdiden teşekkür ederim.


    Varolan kodlar:
    <td  width=\"30\" >
    <input name=\"soru[]\"  onblur=\"if (this.value == ''){this.value = '0';}\" 
     onclick=\"if (this.value == '0'){this.value = '';}\" class=\"input\" value=\"0\"   maxlength=\"3\"  id=\"soru[]\" type=\"text\" /></td>
     <td   width=\"260\" align=\"left\" class=\"userbaslik\">$d[konu] ($e)</td>
    Benim denediğim kodlar:
    <td width=\"20\" align=center><input type=\"checkbox\" class=\"checbox\" name=\"soru[]\" value=\"20[id]\" /></td>
    	  <td   width=\"260\" class=userbaslik>$d[konu] ($e)</td>
  • 14-02-2009, 15:59:41
    #2
    Üyeliği durduruldu
    birden fazla checkbox olacaksa dizi şekline dönüştürebilirsiniz.
  • 14-02-2009, 18:34:09
    #3
    ya benim sorunum veriyi iletmiyor.. gönder dediğimde 20 olarak göndermesi lazım ama göndermiyor..
  • 14-02-2009, 19:45:39
    #4
    Üyeliği durduruldu
    hocam bu verdiginiz kodları döngü içinde mi kullaniyorsunuz.
    $d[konu] nedir böyle bir dizi erişim kullanımı var mı. diziye kelime ile erişiyorsaniz indis olarak $d["konu"] gibi olması gerekmez mi?
    birde soru[] şeklinde oluşturmuşsunuz ama bu veri çektiginiz yerde birden fazla bu değişken varsa hangisinn hangisi olduğunu nasil anliyorsunuz

    birde değerleri okurken foreach ile mi dönüyorsunuz. değeri okumak için nasil erişiyorsunuz bahsetmemişsiniz

    birde php kodu kapatip acarak yazsaniz daha anlasilir olmaz mi kodlariniz daha sonra düzenlemeside kolay olur
    <td width="20\" align=center><input type=\"checkbox\" class=\"checbox\" name=\"soru[]\" value=\"20[id]\" /></td>
          <td   width=\"260\" class=userbaslik>$d[konu] ($e)</td>
    ben şahsen

    <td width="20" align=center><input type="checkbox" class="checbox" name="soru[]" value="20[id]" /></td>
    <td   width="260" class=userbaslik><?php echo $d['konu']; ?>(<?php echo $e; ?>)</td>
    gibi yazardim.

    2 satır kod vermişsiniz ama inaniyorum ki çoğu kişi mesajı açıp bu ne ya arap saçı gibi demiştir birşey anlayamayip ugrasmamistir bile
  • 14-02-2009, 21:17:42
    #5
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    hocam bu verdiginiz kodları döngü içinde mi kullaniyorsunuz.
    $d[konu] nedir böyle bir dizi erişim kullanımı var mı. diziye kelime ile erişiyorsaniz indis olarak $d["konu"] gibi olması gerekmez mi?
    birde soru[] şeklinde oluşturmuşsunuz ama bu veri çektiginiz yerde birden fazla bu değişken varsa hangisinn hangisi olduğunu nasil anliyorsunuz
    birde değerleri okurken foreach ile mi dönüyorsunuz. değeri okumak için nasil erişiyorsunuz bahsetmemişsiniz
    birde php kodu kapatip acarak yazsaniz daha anlasilir olmaz mi kodlariniz daha sonra düzenlemeside kolay olur
    <td width="20\" align=center><input type=\"checkbox\" class=\"checbox\" name=\"soru[]\" value=\"20[id]\" /></td>
          <td   width=\"260\" class=userbaslik>$d[konu] ($e)</td>
    ben şahsen
    <td width="20" align=center><input type="checkbox" class="checbox" name="soru[]" value="20[id]" /></td>
    <td   width="260" class=userbaslik><?php echo $d['konu']; ?>(<?php echo $e; ?>)</td>
    gibi yazardim.
    2 satır kod vermişsiniz ama inaniyorum ki çoğu kişi mesajı açıp bu ne ya arap saçı gibi demiştir birşey anlayamayip ugrasmamistir bile
    bu hazır bi scriptti. yani ben hazırlamadım.. o yüzden nasıl bişey yapacağımıda anlayamadım çok karmaşık çünkü. bahsettiğim sayfanın tüm kodunu ekliyorum. belki o şekilde anlaşılır olabilir.

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
    <link href="style.css" rel="stylesheet" type="text/css" />
    <table width="617" height="100%"  border="0" cellpadding="0" cellspacing="0" background="images/orta.jpg"  >
    
     
      <tr>
        <td width="10" height="410" align="left" valign="bottom"></td>
        <td width="587" align="center" valign="top" >
    	
    	
    	
    	
    	
    	
    	
    	
    
    	<table width="592" border="0" cellpadding="0" cellspacing="0" class="line_properties">
       
    		
    		
    		
    		<?php $sec=$_POST['sec']; 
     if($sec==''){
    
     session_unregister("zaman");
     $zaman=mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"));
      session_start();
    $_SESSION['zaman'] = $zaman;
      ?>
        <tr>
            <td  align="center">Sınava Girmek İstediğiniz Dersleri Seçiniz !...</td>
            </tr>
          <tr>
            <td  height="73">
    		<form method="post" enctype="multipart/form-data" name="example"      action="<?php echo $_SERVER['REQUEST_URI'] ?>" >
    
    		<table width="587" border="0" cellspacing="3" cellpadding="3">
      <tr>
    
    		   <?php
    		   $i=1;
    $a=$hib->whilerun("select id ,ders from ders   where aktif=1 and id<>18 order by ders ");
    foreach($a as $b){
    $d=$hib->satir_sayisi("select id from sorular where ders=$b[id]  and onay=1 ");
          echo "<td width=\"20\" align=center><input type=\"checkbox\" class=\"checbox\" name=\"sec[]\" value=\"$b[id]\" /></td>
    	  <td   width=\"270\" class=userbaslik>$b[ders] ($d)</td>";
    if($i%2==0){echo '</tr><tr>';}		
    $i++;
    
    	} 	 
         ?> <tr><td colspan="4" align="right"><input type="image" name="imageField" src="images/ileri.gif" />
    		       <br />
    		       <span class="puan2">İLERİ &nbsp; &nbsp; </span></td>
    		   </tr> 
    		</table>	
    
    		 
    		</form>
    		<? }
    		
    	else{	
    	?>
    <form method="post" enctype="multipart/form-data" name="example"      action="?sayfa=sinav2" >
    	   <tr>
            <td  align="center">İstediğiniz Konunun Soru Sayısını Giriniz !...  </td>
            </tr>
          <tr>
            <td  height="73" align="right">
    	<?php
    $xmlstring .= "<?xml version=\"1.0\" encoding=\"ISO-8859-9\"?>\n";
     $xmlstring .= "<hib>\n";
    
    foreach($sec as $data){	
    //data
      $xmlstring .= "<ders>\n";
     $xmlstring .= "<dersid>$data</dersid>\n";
       $xmlstring .= "</ders>\n";
    //data
    
    $a=$hib->whilerun("select id ,ders from ders   where aktif=1 and id=$data order by ders ");
    if($a!=''){
    foreach($a as $b){
    echo '<table width="587" border="0" cellspacing="3" cellpadding="3"><tr><td colspan="4">'.$b[ders].'</td></tr><tr>';
    $c=$hib->whilerun("select * from konular   where ders=$b[id] order by konu "); $i=1;
    if($c!=''){
    foreach($c as $d){
    $e=$hib->satir_sayisi("select id from sorular where ders=$b[id] and konu=$d[id] and onay=1");
    echo "<td  width=\"30\" >
    <input name=\"soru[]\"  onblur=\"if (this.value == ''){this.value = '0';}\" 
     onclick=\"if (this.value == '0'){this.value = '';}\" class=\"input\" value=\"0\"   maxlength=\"3\"  id=\"soru[]\" type=\"text\" /></td>
     <td   width=\"260\" align=\"left\" class=\"userbaslik\">$d[konu] ($e)</td>";
    if($i%2==0){echo '</tr><tr>';}		
    $i++;
    }}
    
    }echo'</table><hr>';
    }}
    
    		echo '<input type="image" name="imageField2" src="images/ileri.gif" /> 
    		
    		 <div class="puan2">İLERİ &nbsp; &nbsp; </div></form>';
    		
    		
    	
    
       $xmlstring .= "</hib>\n";
       @unlink("data/$userid.xml");
    			$fp = fopen ("data/$userid.xml", "w");
    	fwrite($fp,$xmlstring); 
    	fclose($fp);
    		}
    		
    		
    		
    		?>		</td>
          </tr>
    
          <tr>
            <td  height="73"><p><strong>SINAV HAKKINDA KISA BİLGİ <br />
              1-)</strong> Sınav olmak istediğiniz dersleri yada dersi seçiniz.<br />
                <strong>2-)</strong> Seçtiğiniz derslere ait konulardan istediğiniz kadar soru yazabilirsiniz. Sizin yazdığınız soru sayısı sistemde mevcut değilse sistemde var olan soru sayısı ile sınava başlarsınız.<br />
              <strong>3-)</strong> Sınav sürenizi kendiniz belirleyebilirsiniz. Süreden memnun değilseniz artırmak yada eksiltmek istiyorsanız süre yazan kutuya dakika cinsinden süreyi yazınız.<br />
              <strong>4-)</strong> Süre bittikten sonra sınavınız sona erecektir.Sınav süreniz bitmeden soruları cevaplamaya çalışın erken sınavı bitirmek istiyorsanız sınavı bitir butonunu tıklayın.<br />
              <strong>5-)</strong> Sınav bittikten sonra girdiğiniz her sınav karnenize işleyecektir. Girdiğiniz sınavları ve sonuçlarını karneniz butonuna basarak görebilirsiniz.<br />
              <span class="userbaslik">6-) </span>Sınav bittikten sonra sınavda aldığınız başarı:<br /> 
    		
    		  %50 - %59 arasında olursa 5 puan<br />
    		  %60 - %69 arasında olursa 10 puan<br />
              %70 - %79 arasında olursa 15 puan<br />
              %80 - %79 arasında olursa 20 puan<br />
            %90 - %100 arasında olursa 25 puan<br />
            <strong>Not : Puan alabilmeniz için en az 10 soruyla sınava girmeniz gerekiyor. </strong><br />
            <strong>7-)</strong> Her üye sisteme soru gönderebilir.Her gönderdiğiniz soru için 1 puan alırsınız. Her sildiğiniz soru içinde 1 puan eksilir. </p>
              
          </table>
    
    	</td>
        <td width="10"  ></td>
      </tr>
    </table>