내 웹에서 편집 메뉴를 만들려고합니다. 그래서 제품 페이지를 편집 페이지로 안내합니다. 내가 헷갈리는 부분은 제품 페이지에서 productID를 가져 와서 편집 페이지에서 사용하는 방법입니다. 다음의 제품에 내 코드PHP에서 다른 파일에서 ID를 가져 오는 방법은 무엇입니까?
<?php $query= "SELECT * FROM game";
$rs = mysql_query($query);
while($data = mysql_fetch_array($rs)) { ?>
<div class="gameBox">
<div style="margin:5px;">
<?php echo "<image src=\"images/".$data['gameId'].".png\" alt=\"gameImage\" </image>"?>
<div class="cleaner"></div>
<div class="myLabel">Name</div><div>: <?php echo $data['gameName'];?></div>
<div class="myLabel">Developer</div><div>: <?php echo $data['gameDeveloper']; ?></div>
<div class="myLabel">Price</div><div>: $ <?php echo $data['gamePrice']; ?></div>
<br />
<a href="edit.php" <?php $id=$data['gameId'];?>><input type="button" value="Edit"/></a>
<a href="<!-- Delete -->"><input type="button" value="Delete"/></a>
</div>
</div>
<?php } ?>
내가이 편집 페이지에 액세스하려고하면이 편집 페이지
<?php include("connect.php");
$id[0] = $_REQUEST['id'];
$query = "SELECT * FROM game WHERE gameId=".$id."";
$rs = mysql_query($query);
while($data = mysql_fetch_array($rs)) { ?>
<form action="doUpdate.php" method="post">
<?php echo "<image src=\"images/".$id.".png\" alt=\"gameImage\" </image>"?>
<div class="cleaner"></div>
<div class="myLabel">Name</div><div>: <input type="text" value="<?php echo $data['gameName'];?>" id="gameName" name="gameName"/></div>
<div class="myLabel">Developer</div><div>: <input type="text" value="<?php echo $data['gameDeveloper'];?>" id="gameDeveloper" name="gameDeveloper"/></div>
<div class="myLabel">Price</div><div>: <input type="text" value="<?php echo $data['gamePrice'];?>" id="gamePrice" name="gamePrice"/></div>
<br/>
<div id="txtError">
<!--error message here-->
</div>
<input type="submit" value="Submit"/>
<a href="product.php"><input type="button" value="Cancel"/></span></a>
<?php } ?>
에 내 코드, 그것은이 편집에
"Undefined index:$id[0] = $_REQUEST['id'];"
말했다 오류가있다 페이지. 누구도 도와 줄 수 있습니까?
스크립트는 SQL 삽입에 취약합니다. 최소한 $ int를 정수로 캐스팅하기 위해'intval()'을 호출하십시오 :'$ id = intval ($ _REQUEST [ 'id']);' –
@Michael : 저는 보통'$ id = (int) $ _ GET [...]'- 어떤 것이 더 나은지 어떤 생각일까요? 똑같다? – jedwards
@jedwards 그들은 기본적으로 동일합니다. 필요한 경우 기수 옵션으로'intval()'을 사용하십시오. 실제로, 그것이 예상대로 정수인지 확인하는 것이 가장 좋습니다. 그렇지 않은 경우 데이터베이스에 대해 전혀 작업하지 마십시오. –