Доброго времени суток. Вопрос у меня очень глупый, но незнаю у кого еще поинтересоваться! Код (Text): <input type='checkbox' name='vp' value='1' id='2'> Как вытащить значение ID
У чекбокса нет value. У него бывает статус checked (в пост-массиве - on). id не должно начинаться с цифры if (document.getElementById("_2").checked) { alert('Выбрано!'); }
Вобщем ничего у меня не получается. Проблема в том, что скрипт какимто образом сам берет данный и записывает в БД даже если я не выбираю значения чекбокса все равно он записывает последний вариант ответа! вот код может кто вразумит? PHP: <? include ("../config.php"); // функция вывода всех тестов function add_new() { echo "<h1>Выберите тест</h1><center>"; echo "[ <a href='".$_SERVER['PHP_SELF']."?page1-for-3.php&up=show_table_test&list=1'>Тесты</a> ]"; } add_new(); // функция выбора теста function show_table_test() { $per_page=pages; // получаем номер страницы if (isset($_GET['list'])) $list=($_GET['list']-1); else $list=1; // вычисляем первый оператор для LIMIT $start=abs($list*$per_page); // составляем запрос и выводим записи // переменную $start используем, как нумератор записей. $sql="select * from test ORDER BY id_test LIMIT $start,$per_page"; $result=db($sql); //выводим таблицу с тестами echo "<br><br><center><b class='text'>Выбирите тест</b><br>"; echo "<table width='30%' border='0' cellspacing='1' cellpadding='4' align='center' bgcolor='#336699'><tr>"; echo "<td align='center'>№</td>"; echo "<td align='center'>Тесты</td></tr>"; $bgr='1'; while($row=mysql_fetch_array($result)) { if($bgr==1) { $bgcolor='#F5F5F5'; $bgr=0; } else { $bgcolor='#FFFFFF'; $bgr=1; } echo "<form action='".$_SERVER['PHP_SELF']."' method='GET'>"; echo "<tr bgcolor='$bgcolor' onMouseOut=this.style.backgroundColor='$bgcolor' onMouseOver=this.style.backgroundColor='#BED9FB'>"; echo "<td align='center'>".$row['id_test']."<input type='hidden' value='".$row['id_test']."'></td>"; echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?page1-for-3.php&up=show_test&id_test=".$row['id_test']."&name_test=".$row['name_test']."&list=".$_GET['list']."'>".$row['name_test']."</a><input type='hidden' name='name_test' value='".$row['name_test']."'></td>"; } echo "</form></tr></table>"; $sql=("SELECT count(*) FROM test"); $result=db($sql); $row=mysql_fetch_row($result); $total_rows=$row[0]; $num_pages=ceil($total_rows/$per_page); for($i=1;$i<=$num_pages;$i++) { if ($i-1 == $list) { echo $i." "; } else { echo '<a href="'.$_SERVER['PHP_SELF'].'?page1-for-3.php&up=show_test&list='.$i.'">'.$i."</a> "; } } } // функция вывода таблиц с ответами function get_table($arr) { $bgr=1; if($bgr==1) { $bgcolor='#F5F5F5'; $bgr=0; } else { $bgcolor='#FFFFFF'; $bgr=1; } $table = "<table bgcolor='#ffffd0' cellspacing='1' cellpadding='2' width='400px'>"; foreach($arr as $row){ $table .= "<tr bgcolor='$bgcolor' onMouseOut=this.style.backgroundColor='$bgcolor' onMouseOver=this.style.backgroundColor='#BED9FB'>"; foreach($row as $ceil){ $table .= "<td align='{$ceil['align']}' width={$ceil['width']}>".$ceil['data']."</td>"; } $table .= "</tr>"; } $table .= "</table>"; return $table; } function show_test() { $per_page = 2; $pages = isset($_POST['pages']) ? (int) $_POST['pages'] : 1; // считаем количество строк в базе $sql = ("select count(*) from test,vopros where test.id_test='".$_GET['id_test']."' and test.id_test=vopros.id_test;"); $result = db($sql); $row = mysql_fetch_array($result); $total = $row['0']; $next_page = ($pages <= $total) ? $pages+1 : -1; // Если все ответы прошли if ($next_page === -1) { echo "<h3>Поздравляем, вы успешно прошли тест</h3>"; } else{ $result=db("select * from test,vopros,otvet where test.id_test=".$_GET['id_test']." and test.id_test=vopros.id_test and vopros.id_vopros=otvet.id_vopros and vopros.order=$pages"); $data = array(); while ($row = mysql_fetch_array($result)){ $vopros = $row['vopr']; $data[] = array( array( 'data' => "<input type='checkbox' name='vp' value='{$row['logic']}' id='{$row['otvet']}'>", 'width' => "50px", 'align' => 'center' ), array( 'data' => "<label for='{$row['otvet']}'>".$row['otvet']."</label>", 'width' => "340px", 'align' => 'left' ) ); } echo "<br><br><b class='navy'>Вопрос №</b> <b class='red'>".$pages."</b>"; echo "<div align='center'> <form action='' method='POST'> <b class='text'>" . $vopros . "</b><br><br>". get_table($data). "<input type='hidden' value='{$next_page}' name='pages' />". "<input type='submit'name='go' value='некст'/>". "</form>" . "</div>"; } //************************************* foreach ($_SESSION as $key =>$value); $login=$value['login']; $fam=$value['fam']; $name=$value['name']; $otc=$value['otc']; $data=date("Y-m-d"); $time=date("H:i:s"); echo "<center><b class='navy'>$value[fam] $value[name] $value[otc] $data $time ".$_POST['vp']." ".$vopros." ".$_POST['otvet']." $ip </b></center>"; if(isset($_POST['go'])) { if(empty($login)); if(empty($fam)); if(empty($name)); if(empty($otc)); if(empty($vopros)); if(empty($_POST['otvet'])); $sql=("insert into log values(null,'$login','$fam','$name','$otc','$vopros','".$_POST['otvet']."','".$_POST['vp']."','$data','$time','$time','$ip','".$_GET['id_test']."')"); $result=db($sql); } } // конструкция switch switch($_GET['up']) { case "show_table_test": show_table_test(); break; case "show_test": show_test(); break; } ?>
Что-то меня смущает синтаксис скрипта... особенно начиная со строки 138.. Хотя предыдущие я просто не так внимательно смотрел. Что автор пытается сделать?