Я начинаю. Я показал студенту имя студента и 10 учеников на столе. Против каждого идентификатора студента должен быть checkbox
(динамический). Когда я нажимаю кнопку ADD, все зарегистрированные данные о студентах (id, name) должны быть вставлены в другую database
table
. Что мне делать?Как получить значения нескольких выбранных (динамических) флажков в php?
ответ
Использовать имя Флажок как массив, пример:
<form method="post" action="" id="frm_id">
<input type="checkbox" name="chkid[]" value="10,Anu" />Anu
<input type="checkbox" name="chkid[]" value="11,Raj" />Raj
<input type="checkbox" name="chkid[]" value="12,Ram" />Ram
<input type="checkbox" name="chkid[]" value="13,xxx" />xxx
<input type="checkbox" name="chkid[]" value="14,yyy" />yyyy
<input type="checkbox" name="chkid[]" value="15,zzz" />zzz
<input type="checkbox" name="chkid[]" value="16,qqqq" />qqqq
<input type="submit" value="Insert" name="sub"/>
</form>
<?php
if(isset($_POST['sub']))
{
$id=$_POST['chkid'];
for($i=0;$i<count($id);$i++)
{
$exp=explode(',',$id[$i]);//Explode id and name
echo 'id='.$exp[0].',Name='.$exp[1];echo "<br>";
echo $query="INSERT INTO tbl_student (id,name) values ('$exp[0]','$exp[1]')";echo "<br><br>";
}
}
?>
Я думаю, что у меня проблема со значением флажка . Это неправильно? – MIA
** Danger **: вы уязвимы для [SQL-инъекций] (http://bobby-tables.com/) **, которые вам нужно [защищать] (http://stackoverflow.com/questions/ 60174/best-way-to-prevent-sql-injection-in-php). – Quentin
@MIA использовать тег php, –
попробуйте использовать массив CheckBox элемента, как это:
<input type="checkbox" name="months[]" value="feb">February<br>
<input type="checkbox" name="months[]" value="mar">March<br>
<input type="checkbox" name="months[]" value="apr">April<br>
<form method="post" action="pageurl">
<input type="checkbox" name="studentid[]" value="1,Student1" />Student1
<input type="checkbox" name="studentid[]" value="2,Student2" />Student2
<input type="checkbox" name="studentid[]" value="3,Student3" />Student3
<input type="checkbox" name="studentid[]" value="4,Student4" />Student4
<input type="submit" />
</form>
<?php
$id=$_POST['studentid'];
foreach($id as $student)
{
$extract = explode(',',$student);
$query="INSERT INTO student (id,name) values ('$extract[0]','$extract[1]')";
}
?>
** Danger **: вы уязвимы для [SQL-инъекций] (http://bobby-tables.com/) **, которые вам нужно [защищать] (http : //stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php) от вас. – Quentin
что вы сделали до сих пор? – roullie