Je veux mettre à jour mon produit quand il y a une connexion d'utilisateur. Voici mon code dans edit.phpComment mettre à jour la base de données en 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>
Ceci est mon code dans doUpdate.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");
}
?>
Pourquoi je ne peux pas changer le nom, développeur, ou même prix je l'ai déjà donner l'action dans la forme? Et pourquoi, si je supprime le nom, le développeur et le prix pour savoir si la validation fonctionne ou pas, il est dit que Undefined index dans edit.php $ id = (int) $ _ GET ['id']; ?
Avant d'aller plus loin avec ce code. vous avez besoin de lire à propos de [attaques par injection SQL] (http://bobby-tables.com) et de la gestion [erreurs SQL] (http://php.net/mysql_error) –
Lorsque vous dites que vous ne pouvez pas changer les détails , Que voulez-vous dire? Qu'est-ce qui se passe quand vous essayez? Recevez-vous un message d'erreur ou le formulaire est-il envoyé mais la base de données n'est pas mise à jour? – andrewsi
Il n'y a pas de message d'erreur, je pourrais soumettre mais la base de données n'est pas mise à jour. – greenthunder