2012-01-30 12 views
-1

私は、数量が変更されたデータベースで更新しようとしていますが、変更が更新されるガイドは変更が行われた場所。フォームの数量変更を更新しようとしています

これは変更が

<? 
    $pplresult = mysql_query("SELECT * FROM repplac"); 
    echo "<table border='1'><tr><th> SHOP NAME</th><th> PRODUCT NAME</th><th> 
    PRODUCT SIZE</th><th> PRODUCT COLOUR</th><th> PRODUCT QUANTITY</th><th> 
    PRICE</th><th> </th></tr>"; 
    while($row = mysql_fetch_assoc($pplresult)){?> 
<form action='updatepplac.php' method='Post' class='slistbar'> 
<?echo "<tr><td>" .$row['Sname'] ."</td><td>" .$row['Pname'] ."</td><td>" .$row['Psize'] ."</td><td>" .$row['Pcolour'] ."</td><td>" ."<input type='text' name='Pquantity' id='Pquantity' value='{$row['Pquantity']}' >" ."</td><td>" .$row['Price'] ."</td><td>" ?> 
<a href="deleteproduct.php?del=<?php echo $row['Pidno'];?>">delete</a></td></tr><?php } 
// table closing tag 
?> 

行われることになるコードと更新スクリプト

$submit = $_POST['submit']; 
     $pid = $_GET['del']; 
     $nPquantity = $_POST['Pquantity']; 
     //echo "$nPquantity"; 

     //die(); 
     if('POST' === $_SERVER['REQUEST_METHOD']) 
     { 
     $queryreg = mysql_query(" 
     UPDATE repplac SET Pquantity='$nPquantity' ")or die(mysql_error()); 
     } 
+0

あなたのスクリプトはSQLインジェクションとXSSの両方に対して脆弱です。mysql_error()は現在のテーブルについての情報を攻撃者に与えます... –

答えて

0

あなたがそうでなければWHERE id=your_row_idとの条件がどこにアップデートしますUPDATE repplac SET Pquantity='$nPquantity'ここで必要がありますか?

EDITは:この

$queryreg = mysql_query(" 
    UPDATE repplac SET Pquantity=".mysql_real_escape_string($nPquantity)." WHERE id = ".mysql_real_escape_string($_GET['edit_id']))or die(mysql_error()); 
    } 

UPDATEのようになります。

<a href='edit.php?edit_id=<?php echo $your_row_id; ?>'>edit link</a> 

:ユーザーがリンクをクリックしたときに、あなたがこのように編集されたフィールドのUIDを追加する必要があることを編集しますその後、GET変数を追加してからもう一度クエリを読んでください。

+0

はい、私はどこで更新が行われるべきかを指定しませんでした私は行IDが変更されている場所を指定します。また、数量変更が行われた場所のpost datをエコーすると、最後の行が変更された結果が返されます。 – user1158373

+0

私は質問を投稿して問題を抱えています。このメッセージ – user1158373

+0

おっと!あなたの質問は次の理由で投稿できませんでした: あなたの投稿にコードとして正しく書式設定されていないコードが含まれているようです。コードツールバーボタンまたはCTRL + Kキーボードショートカットを使用して、すべてのコードを4つのスペースでインデントしてください。詳細な編集ヘルプについては、[?]ツールバーのアイコンをクリックしてください。 – user1158373

関連する問題