0
사용자 로그인이있을 때 제품을 업데이트하고 싶습니다. 다음은이 doUpdate.php 내 코드가PHP에서 데이터베이스를 업데이트하는 방법?
<?php
$id= (int)$_GET['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'];?>" name="gameName"/></div>
<div class="myLabel">Developer</div><div>: <input type="text" value="<?php echo $data['gameDeveloper'];?>" name="gameDeveloper"/></div>
<div class="myLabel">Price</div><div>: <input type="text" value="<?php echo $data['gamePrice'];?>" name="gamePrice"/></div>
<br/>
<div id="txtError" style="color:#D70005">
<?php
if(isset($err))
{
if($err==1) echo"All Fields must be filled";
else if($err==2) echo"Price must be numeric";
else if($err==3) echo"Price must be between 1-10";
}
?>
</div>
<input type="submit" value="Submit"/>
<a href="product.php"><input type="button" value="Cancel"/></span></a>
<?php
}
?>
</form>
edit.php 내 코드는
<?php
$nama = $_POST['gameName'];
$dev = $_POST['gameDeveloper'];
$harga =$_POST['gamePrice'];
$id= (int)$_REQUEST['id'];
if($nama == "" || $dev == "" || $harga == "")
{
header("location:edit.php?err=1");
}
else if(!is_numeric($harga))
{
header("location:edit.php?err=2");
}
else if($harga < 1 || $harga >10)
{
header("location:edit.php?err=3");
}
else
{
$query = "UPDATE game SET gameName='".$nama."', gameDeveloper='".$dev."', gamePrice=".$harga." where gameId=".$id."";
mysql_query($query);
header("location:product.php");
}
?> 이미 심지어 이름, 개발자, 또는 가격을 변경할 수없는 이유
형태로 행동을 줄래? 왜 이름, 개발자 및 가격을 삭제하면 유효성 검사가 작동하는지 여부를 알 수 없으므로 edit.php $ id = (int) $ _ GET [ 'id']의 정의되지 않은 색인이 표시됩니다. ?
이 코드를 더 자세히 설명하기 전에 다음을 수행하십시오. [SQL injection attacks] (http://bobby-tables.com) 및 [SQL 오류] 처리 (http://php.net/mysql_error) –
세부 사항을 변경할 수 없다고 말하면 , 무슨 뜻이야? 시도 할 때 어떻게됩니까? 오류 메시지가 나타나거나 양식이 제출 되나 데이터베이스가 업데이트되지 않습니까? – andrewsi
제출할 수 있지만 데이터베이스가 업데이트되지 않는다는 오류 메시지는 없습니다. – greenthunder