• 14-09-2012, 11:32:01
    #1
    Merhaba
    Sınıfta Bilgisayardan yoklama yapıp onları kenarlarındaki checxboxları işaretlediğimde gönder yoklamının local hostta servere aktarılmasını istiyorum.

    Ben şuraya kadar geldim
    Önce öğretmen Sınıf seçiyor ogrenci Veritabanından ilgili sınıfın listesi geliyor.
    Gelen Liste Şu Şekilde


    |SıraNo|Sınıfı|No*|Adi|Soyadı|Ders****|Sını ftaYok|GeçKaldı|
    |1*****|9A****|213|Ali|Kara**|1.Ders\/|****[x]***|***[]***|
    |2*****|9A****|219|Can|Ak****|1.Ders\/|****[x]***|***[]***|
    |3*****|9A****|423|Nur|Aktaş*|1.Ders\/|****[]****|***[x]**|
    Sınıfta yok ve geç kaldı sütunları checkbox

    Yapmak istediğim şu

    Gelen öğrenci listesinden Önce hangi derste olduğumuzu seçiyoruz.
    213 Nolu Öğrenci 1. Ders Geç Kaldı
    423 Nolu Öğrenci 1. Ders Yok

    Yada
    219 Nolu Öğrenci 3.Ders Geç Kaldı.

    gibi bilgileri işaretledikten sonra devamsizlik diye bir veri tabanına ben bunları kaydetmek istiyorum.
    Ama istediğim bilgileri t4.php'ye aktaramıyorum.

    Aslında çok ilkel bir yöntemle aktardım ama buraya yazmak seviyeyi düşürür diye yazmıyorum.

    Postla göndermek istediğim bilgiler
    no,ders,yok,gec
    yardımcı olabilirseniz sevinirim
    Şimdiden Teşekkürler.
    (Benzer bir çalışma gösterirseniz de olabilir.)
    -------------------
    Kodlarımda şu şekilde
    PHP Kodu:
    <?php
    $i=0;
    $birim = $_POST['birim'];        
    include('connect-db.php');        
    $result = mysql_query("SELECT * FROM ogrenci where sinif='$birim'")         
    or die(mysql_error());          
    echo "<table border='1' cellpadding='10'>";        
    echo "<tr> <th>Sıra No</th> <th>Sınıfı</th> <th>No</th> <th>Adı</th><th>Soyadı</th> <th>Sınıfta Yok</th> <th>Geç Kaldı</th> <th>Sınıfta Yok</th></tr>";        
    while($row = mysql_fetch_array( $result )) {                
    $i++;                
    $kademe        = $row["kademe"];                
    $sinif        = $row["sinif"];                
    $no            = $row["no"];                
    $adi        = $row["adi"];                
    $soyadi        = $row["soyadi"];                
    $yok        = $row["yok"];                
    echo "                <form action='t4.php' method='post'>                
    <td  width='388'> <font face='Tahoma' size='2'>$i</font> <input type='hidden' name='sira' value='$i'></td>                
    <td  width='388'> <font face='Tahoma' size='2'>$sinif</font> <input type='hidden' name='sinif' value='$sinif'></td>                
    <td  width='388'> <font face='Tahoma' size='2'>$no</font> <input type='hidden' name='no' value='$no'></td>                
    <td  width='388'> <font face='Tahoma' size='2'>$adi</font> <input type='hidden' name='adi' value='$adi'></td>                
    <td  width='388'> <font face='Tahoma' size='2'>$soyadi</font> <input type='hidden' name='soyadi' value='$soyadi'></td>                
    <td  width='388'>
  • 14-09-2012, 11:55:15
    #2
    Üyeliği durduruldu
    elona adlı üyeden alıntı: mesajı görüntüle
    Merhaba
    Sınıfta Bilgisayardan yoklama yapıp onları kenarlarındaki checxboxları işaretlediğimde gönder yoklamının local hostta servere aktarılmasını istiyorum.

    Ben şuraya kadar geldim
    Önce öğretmen Sınıf seçiyor ogrenci Veritabanından ilgili sınıfın listesi geliyor.
    Gelen Liste Şu Şekilde


    |SıraNo|Sınıfı|No*|Adi|Soyadı|Ders****|Sını ftaYok|GeçKaldı|
    |1*****|9A****|213|Ali|Kara**|1.Ders\/|****[x]***|***[]***|
    |2*****|9A****|219|Can|Ak****|1.Ders\/|****[x]***|***[]***|
    |3*****|9A****|423|Nur|Aktaş*|1.Ders\/|****[]****|***[x]**|
    Sınıfta yok ve geç kaldı sütunları checkbox

    Yapmak istediğim şu

    Gelen öğrenci listesinden Önce hangi derste olduğumuzu seçiyoruz.
    213 Nolu Öğrenci 1. Ders Geç Kaldı
    423 Nolu Öğrenci 1. Ders Yok

    Yada
    219 Nolu Öğrenci 3.Ders Geç Kaldı.

    gibi bilgileri işaretledikten sonra devamsizlik diye bir veri tabanına ben bunları kaydetmek istiyorum.
    Ama istediğim bilgileri t4.php'ye aktaramıyorum.

    Aslında çok ilkel bir yöntemle aktardım ama buraya yazmak seviyeyi düşürür diye yazmıyorum.

    Postla göndermek istediğim bilgiler
    no,ders,yok,gec
    yardımcı olabilirseniz sevinirim
    Şimdiden Teşekkürler.
    (Benzer bir çalışma gösterirseniz de olabilir.)
    -------------------
    Kodlarımda şu şekilde
    PHP Kodu:
    <?php
    $i=0;
    $birim = $_POST['birim'];        
    include('connect-db.php');        
    $result = mysql_query("SELECT * FROM ogrenci where sinif='$birim'")         
    or die(mysql_error());          
    echo "<table border='1' cellpadding='10'>";        
    echo "<tr> <th>Sıra No</th> <th>Sınıfı</th> <th>No</th> <th>Adı</th><th>Soyadı</th> <th>Sınıfta Yok</th> <th>Geç Kaldı</th> <th>Sınıfta Yok</th></tr>";        
    while($row = mysql_fetch_array( $result )) {                
    $i++;                
    $kademe        = $row["kademe"];                
    $sinif        = $row["sinif"];                
    $no            = $row["no"];                
    $adi        = $row["adi"];                
    $soyadi        = $row["soyadi"];                
    $yok        = $row["yok"];                
    echo "                <form action='t4.php' method='post'>                
    <td  width='388'> <font face='Tahoma' size='2'>$i</font> <input type='hidden' name='sira' value='$i'></td>                
    <td  width='388'> <font face='Tahoma' size='2'>$sinif</font> <input type='hidden' name='sinif' value='$sinif'></td>                
    <td  width='388'> <font face='Tahoma' size='2'>$no</font> <input type='hidden' name='no' value='$no'></td>                
    <td  width='388'> <font face='Tahoma' size='2'>$adi</font> <input type='hidden' name='adi' value='$adi'></td>                
    <td  width='388'> <font face='Tahoma' size='2'>$soyadi</font> <input type='hidden' name='soyadi' value='$soyadi'></td>                
    <td  width='388'>
    Hocam t4.php Neden Aktarmak İstiyorsunuz ve Aktaramıyorum Demişsiniz Hata Filan Mı Alıyorsunuz
  • 14-09-2012, 12:26:22
    #3
    Yok Hocam aktarıyor.
    Ama istediğim bilgileri aktaramıyorum
    bana 4 tane bilgi lazım
    1.no (Öğrenci No)
    2.Ders (Combobox-Hangi Derste olduğu)
    3. Yok (Checkbox)
    4. Gec (Checkbox)
  • 14-09-2012, 12:46:44
    #4
    Üyeliği durduruldu
    elona adlı üyeden alıntı: mesajı görüntüle
    Yok Hocam aktarıyor.
    Ama istediğim bilgileri aktaramıyorum
    bana 4 tane bilgi lazım
    1.no (Öğrenci No)
    2.Ders (Combobox-Hangi Derste olduğu)
    3. Yok (Checkbox)
    4. Gec (Checkbox)
    Hocam HTML Yapısında Bu İstediklerinize Verdiğiniz name Değeri İle POST Ettiğiniz Sayda Da Bu Verileri Alacaksınız . Bira Karışık Mı Oldu .

    HTML Yapasını Yani Form Bölümünü Paylaşabilirseniz Bakalım
  • 14-09-2012, 13:56:33
    #5
    Hocam Cumaya Gittim Gelecem Cumadan sonra Size göndereyim

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:56:33 -->-> Daha önceki mesaj 13:07:41 --

    t7.php

    <?php
    $x=",";
    $i=0;
    //$birim = $_POST['birim'];
            include('connect-db.php');
            $result = mysql_query("SELECT * FROM ogrenci where sinif='9A'") 
    		or die(mysql_error());  
            echo "<table border='1' cellpadding='10'>";
            echo "<tr> <th>Sıra No</th> <th>Sınıfı</th> <th>No</th> <th>Adı</th><th>Soyadı</th> <th>Sınıfta Yok</th> <th>Geç Kaldı</th></tr>";
    		while($row = mysql_fetch_array( $result )) {
    				$i++;
    				$kademe    	= $row["kademe"];
    				$sinif    	= $row["sinif"];
    				$no        	= $row["no"];
    				$adi        = $row["adi"];
    				$soyadi    	= $row["soyadi"];
    				$yok    	= $row["yok"];
    echo"				
    <form action='t8.php' method='POST' action='t8.php'>
    <tr>
    <td  width='388'> <font face='Tahoma' size='2'>$i</font> <input type='hidden' name='deger[1]' value='$i'></td>
    <td  width='388'> <font face='Tahoma' size='2'>$sinif</font> <input type='hidden' name='deger[2]' value='$sinif'></td>
    <td  width='388'> <font face='Tahoma' size='2'>$no</font> <input type='hidden' name='deger[3]' value='$no'></td>
    <td  width='388'> <font face='Tahoma' size='2'>$adi</font> <input type='hidden' name='deger[4]' value='$adi'></td>
    <td  width='388'> <font face='Tahoma' size='2'>$soyadi</font> <input type='hidden' name='deger[5]' value='$soyadi'></td>
    <td  width='388'> <font face='Tahoma' size='2'><input type='checkbox' name='deger[6]' value='Yok'/></td>
    <td  width='388'> <font face='Tahoma' size='2'><input type='checkbox' name='deger[7]' value='Gec'></td>
    </tr>
    ";
    }
    echo "</table><br><input type='submit' value='Yoklama Gönder'></form>
    </form>
    "
    ?>
    t8.php de foreach ile yapıyorum ama sadece en son değere ait verileri alabiliyorum
    Teşekkürler
  • 14-09-2012, 16:31:29
    #6
    <?php 
    $x=","; 
    $i=0; 
    //$birim = $_POST['birim']; 
            include('connect-db.php'); 
            $result = mysql_query("SELECT * FROM ogrenci where sinif='9A'")  
            or die(mysql_error());   
            echo "<table border='1' cellpadding='10'>"; 
            echo "<tr> <th>Sıra No</th> <th>Sınıfı</th> <th>No</th> <th>Adı</th><th>Soyadı</th> <th>Sınıfta Yok</th> <th>Geç Kaldı</th><form action='t8.php' method='POST' action='t8.php'> </tr>"; 
          $rowk = mysql_fetch_array( $result ); 
    foreach ($rowk as $row)
    { 
                    
                    $kademe        = $row["kademe"]; 
                    $sinif        = $row["sinif"]; 
                    $no            = $row["no"]; 
                    $adi        = $row["adi"]; 
                    $soyadi        = $row["soyadi"]; 
                    $yok        = $row["yok"]; 
    echo"                 
    
    <tr> 
    <td  width='388'> <font face='Tahoma' size='2'>$i</font> <input type='hidden' name='deger[1]' value='$i'></td> 
    <td  width='388'> <font face='Tahoma' size='2'>$sinif</font> <input type='hidden' name='sinif[]' value='$sinif'></td> 
    <td  width='388'> <font face='Tahoma' size='2'>$no</font> <input type='hidden' name='no[]' value='$no'></td> 
    <td  width='388'> <font face='Tahoma' size='2'>$adi</font> <input type='hidden' name='ad[]' value='$adi'></td> 
    <td  width='388'> <font face='Tahoma' size='2'>$soyadi</font> <input type='hidden' name='soyad[]' value='$soyadi'></td> 
    <td  width='388'> <font face='Tahoma' size='2'><input type='checkbox' name='yok[]' value='Yok'/></td> 
    <td  width='388'> <font face='Tahoma' size='2'><input type='checkbox' name='gec[]' value='Gec'></td> 
    </tr> 
    "; 
    } 
    echo "</table><br><input type='submit' value='Yoklama Gönder'></form> 
    </form> 
    " 
    ?>
    gönderdiğin verileri çoklu olduğu için yani 1 den fazla öğrencinin bilgilerini göndermek istediğin için soyad[] gibi dizi olarak gondermen lazim veya soyad[$no] gibi ogrenci numarasinda gore yani ne yapmak istedigine gore degisken vererek gondermelisin ayrica form acma tagida while veya foreach in onunde olmali
  • 15-09-2012, 01:20:26
    #7
    Evet Sonunda verileri göndermeyi başardım
    Çift boyutlu dizler kullanarak yaptım
    Yalnız iki problem daha oluştu.

    t7.php

    <?php$
    x=",";$
    i=0;$
    tumu=0;
    //$birim = $_POST['birim'];        
    include('connect-db.php');        
    $result = mysql_query("SELECT * FROM ogrenci where sinif='9A'")         or die(mysql_error());          
    echo "<table border='1' cellpadding='10'>";        
    echo "<tr> <th>Sıra No</th> <th>Sınıfı</th> <th>No</th> <th>Adı</th><th>Soyadı</th> <th>Sınıfta Yok</th> <th>Geç Kaldı</th></tr>";        while($row = mysql_fetch_array( $result )) {                
    $i++;                
    $kademe        = $row["kademe"];                
    $sinif        = $row["sinif"];                
    $no            = $row["no"];                
    $adi        = $row["adi"];                
    $soyadi        = $row["soyadi"];                
    $yok        = $row["yok"];
    echo"                
    <form action='t8.php' method='POST' action='t8.php'>
    <tr>
    <td  width='388'> <font face='Tahoma' size='2'>$i</font> <input type='hidden' name='deger[$i][1]' value='$i'></td>
    <td  width='388'> <font face='Tahoma' size='2'>$sinif</font> <input type='hidden' name='deger[$i][2]' value='$sinif'></td>
    <td  width='388'> <font face='Tahoma' size='2'>$no</font> <input type='hidden' name='deger[$i][3]' value='$no'></td>
    <td  width='388'> <font face='Tahoma' size='2'>$adi</font> <input type='hidden' name='deger[$i][4]' value='$adi'></td>
    <td  width='388'> <font face='Tahoma' size='2'>$soyadi</font> <input type='hidden' name='deger[$i][5]' value='$soyadi'></td>
    <td  width='388'> <font face='Tahoma' size='2'><input type='checkbox' name='deger[$i][6]' value='Yok'/></td>
    <td  width='388'> <font face='Tahoma' size='2'><input type='checkbox' name='deger[$i][7]' value='Gec'></td>
    </tr>
    ";}
    echo "</table><br><input type='submit' value='Yoklama Gönder'></form></form>"?>
    t8.php
    PHP Kodu:

    <?phpinclude("connect-db.php");
    $user=gethostbyaddr($_SERVER['REMOTE_ADDR']);
    $ip=getenv("REMOTE_ADDR");
    $i=0;
    $degerler=$_POST["deger"];
    foreach( $degerler as $index => $deger) {
    $i++;
    $no=$degerler[$i][1];
    $adi= $degerler[$i][2];
    $soyadi=$degerler[$i][3];
    $sira1=$degerler[$i][4];
    $sira2=$degerler[$i][5];
    $sira3=$degerler[$i][6];
    $sira4=$degerler[$i][7];
    echo $no."</br>";
    echo $adi."</br>";
    echo $soyadi."</br>";
    echo $sira1."</br>";
    echo $sira2."</br>";
    echo $sira3."</br>";
    echo $sira4."</br>";
    $sql = "insert into devamsizlik (no,pcadi,pcipi,devamsiz) values ('$no','$user','$ip','$sira3')";
    $kayit = mysql_query($sql);}  
    ?>
    Yalnız Şöyle iki hata ortaya çıktı.
    1. Checkboxlardan gelen veriyi boş olarak
    2. Checkboxları boş olarak gönderirsem
    Notice: Undefined offset: 6
    şeklinde bir hata veriyor.
    Önereceğiniz çözüm nedir
  • 15-09-2012, 02:08:36
    #8
    Reveloper
    checkbox yerine selectbox kullanın hocam bu şekilde yanlışlıktanda kaçınılmış olursunuz.

    [o]Öğrenci Geç Kaldı [o]Sınıfta [o]Okula Gelmedi

    yerine selectbox seçimi daha mantıklı olur
  • 15-09-2012, 02:16:06
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşım değişkenin boş geldiği için veriyor o hatayı.

    $degerler=$_POST["deger"];
    Öncesinde:

    if(isset($_POST["deger"]){ 
    //kodların
    }
    veya

    if(count($_POST["deger"]) > 0){ 
    //kodların
    }
    vb. kontrol koyarsan post var mı diye sorunu çözersin. Ki bu tür kontrolleri her zaman koyman lazım.