0
ユーザーログインしているときに私の製品を更新したいです。ここに私のコードは、これは私もすでに私の名前、開発者、または価格を変更することはできませんなぜdoUpdate.phpPHPでデータベースを更新するには?
<?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");
}
?>
で私のコードです个人设定
<?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 $ id =(int)$ _ GET ['id']の未定義インデックスとなります。 ?
このコードをさらに詳しく調べる前に、 [SQLインジェクション攻撃](http://bobby-tables.com)と[SQLエラー](http://php.net/mysql_error)を参照する必要があります –
詳細を変更できないと言うと、 どういう意味ですか?試してみるとどうなりますか?エラーメッセージが表示されるのですか、フォームは送信されますが、データベースは更新されませんか? – andrewsi
エラーメッセージはありませんが、提出することはできますが、データベースは更新されません。 – greenthunder