사용자가 체크 한 체크 박스를 기반으로 MySQL 데이터베이스에 데이터를 표시하는 테이블을 PHP에서 생성하려고합니다. 여기 http://www.mypicx.com/04282010/1/PHP의 테이블 문제
내 코드입니다 :이 스크린 샷에서 볼 수 있듯이 마지막이 될 일 전에 체크 박스에 체크하지 않은 경우 , 그것은 문제가됩니다
if($_POST['general'] == 'ADDRESS'){
$result2 = mysql_query("SELECT * FROM student WHERE ADDRESS='$saddress'");
?>
<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th>
<?php if ($ShowLastName)
echo "<th>LASTNAME</th>" ?>
<?php if ($ShowFirstName )
echo "<th>FIRSTNAME</th>" ?>
<?php if ($ShowMidName )
echo "<th>MIDNAME</th>" ?>
<?php if ($ShowAddress )
echo "<th>ADDRESS</th>" ?>
<?php if ($ShowGender )
echo "<th>GENDER</th>" ?>
<?php if ($ShowReligion )
echo "<th>RELIGION</th>" ?>
<?php if ($ShowBday )
echo "<th>BIRTHDAY</th>" ?>
<?php if ($ShowContact )
echo "<th>CONTACT</th>" ?>
</tr>
<?php
while($row = mysql_fetch_array($result2))
{?>
<tr>
<td><?php echo $row['IDNO']?> </td>
<td><?php echo $row['YEAR'] ?> </td>
<td><?php echo $row['SECTION'] ?></td>
<td><?php
if ($ShowLastName )
echo $row['LASTNAME'] ?></td>
<td><?php
if ($ShowFirstName )
echo $row['FIRSTNAME'] ?></td>
<td><?php
if ($ShowMidName )
echo $row['MI'] ?></td>
<td><?php
if ($ShowAddress )
echo $row['ADDRESS'] ?></td>
<td><?php
if ($ShowGender )
echo $row['GENDER'] ?></td>
<td><?php
if ($ShowReligion )
echo $row['RELIGION'] ?></td>
<td><?php
if ($ShowBday )
echo $row['BIRTHDAY'] ?></td>
<td><?php
if ($ShowContact )
echo $row['S_CONTACTNUM'] ?></td>
</tr>
<?PHP } ?>
</table>
<?PHP }
mysql_close($con);
?>
무엇 http://www.mypicx.com/04282010/2/ alt text http://www.mypicx.com/uploadimg/1702270558_04282010_1.png
와우, 이것은 단순한 학업이 아니라면 훨씬 더 많은 어려움을 겪습니다. 코드는 SQL 인젝션과 XSS 인젝션에 영향을받습니다. 적어도 mysql_real_escape_string과 htmlspecialchars 같은 것을 사용하는 법을 배워야한다. –
공정하기 때문에'$ saddress'가 인용되지 않았다는 것을 알 수 없습니다. 여전히 제기해야 할 매우 중요한 주제입니다. XSS 벡터는 어디에 있습니까? 표의 값은? – outis
이 좋습니다 : $ syear = mysql_real_escape_string ($ _ POST [ 'specific']); 나머지 코드는 표시하지 않았습니다. 나는 초보자 일 뿐이며 입력 유형이 "텍스트"일 때만 mysql_real_escape_string이 필요할 것이라고 생각합니다. 내가 틀렸다면이 믿음에 대해 가르쳐주세요. – user225269