0

私は現在、編集製品を解決しようとしています.編集製品を押したとき、すべてが表示され、更新のためにファイルされた製品画像とテキストを見ることができます.

送信を押した後、データベースに更新されますが、その後、同じページでフォームの内部に関連するエラーが発生しました

<label>
    <input name="thisID" type="hidden" value="<?php echo $targetID  ?>" />
    <input type="submit" name="button" id="button" value="Make change" />
</label>

このエラーは言った

Notice: Undefined variable: targetID in C:\VertrigoServ\www\shopone\admin\data\edit_product.php on line 147 Call Stack #TimeMemoryFunctionLocation 10.0010352200{main}( )..\edit_product.php:0 " />

完全なフォーム セクションを参照し、行の一番端にあるものを参照してください...

<form id="form1" name="form1" method="post" action="edit_product.php">
  <table width="80%" cellpadding="2" cellspacing="2">

      <tr>
           <?php echo '<td width="36%" rowspan="9" align="right">  <img src="' . GW_UPLOADPATH . '/' . $screenshot .'" width="351" height="402" />  </td>'; ?>
        <td class="text-box1">Product Name:</td>
        <td>&nbsp;</td>
        <td><input name="product_name" type="text" class="text-field1" id="product_name" value="<?php echo $product_name; ?>" /></td>
        <td colspan="2"><!-- Icons --></td>
      </tr>
      <tr>
        <td class="text-box1">Product Category:</td>
        <td>&nbsp;</td>
        <td><input name="product_category" type="text" class="text-field1" id="product_category" value="<?php echo $product_category; ?>" /></td>
        <td colspan="2"><!-- Icons --></td>
      </tr>
      <tr>
        <td class="text-box1">Product Retail Price:</td>
        <td>&nbsp;</td>
        <td><input name="product_retail_price" type="text" class="text-field1" id="product_retail_price" value="<?php echo $product_retail_price; ?>" /></td>
        <td colspan="2"><!-- Icons --></td>
      </tr>
      <tr>
        <td class="text-box1">:Product price:</td>
        <td>&nbsp;</td>
        <td><input name="product_price" type="text" class="text-field1" id="product_price" value="<?php echo $product_price; ?>" /></td>
        <td colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td class="text-box1">&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td class="text-box1">Images</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td colspan="2"><!-- Icons --></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><label>
          <input name="thisID" type="hidden" value="<?php echo $targetID  ?>" />
          <input type="submit" name="button" id="button" value="Make change" />
        </label></td>
      </tr>
    </tbody>
  </table>
</form>

そしてphpセクションで...

<?php 
$dbcs = new mysqli("localhost", "root", "password", "shopone");


// Check connection
if (mysqli_connect_errno($dbcs))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
// Parse the form data and update company information to the system
if (isset($_POST['product_name'])) {

    $pid = $_POST['thisID'];
    $product_name = $_POST['product_name'];
    $product_category = $_POST['product_category'];
    $product_retail_price = $_POST['product_retail_price'];
    $product_price = $_POST['product_price'];

$sql = "UPDATE product SET
    product_name='$product_name', 
    product_category='$product_category', 
    product_retail_price='$product_retail_price',
    product_price='$product_price'
    WHERE product_id='$pid'";

$result = mysqli_query($dbcs,$sql);

if(!$sql)
{
print "error";

}
else 
{
header("product.php");
}}


// Gather these companies full information for inserting automatically into the edit form below on page
if (isset($_GET['pid'])) {
    $targetID = $_GET['pid'];
    $sql = "SELECT * FROM product WHERE product_id='$targetID' LIMIT 1";
  $result=mysqli_query($dbcs,$sql);

      while($row = mysqli_fetch_array($result)){ 
               $product_id = $row["product_id"];
             $product_name = $row["product_name"];
             $product_category = $row["product_category"];
             $product_retail_price = $row["product_retail_price"];
             $product_price = $row["product_price"];
             $screenshot =$row["screenshot"];

        }
}

mysqli_close($dbcs);
?>

誰が何を意味し、それを解決する方法を知っていますか!

4

1 に答える 1

0

送信ボタンを押したら、変数を $_GET から $_POST に変更します。php の別のスクリプトを実装する必要があると思います。しかし、試してみたい場合は..これを試してください:

if (isset($_GET['pid'])) {
    $targetID = $_GET['pid'];
    $sql = "SELECT * FROM product WHERE product_id='$targetID' LIMIT 1";
  $result=mysqli_query($dbcs,$sql);

      while($row = mysqli_fetch_array($result)){ 
               $product_id = $row["product_id"];
             $product_name = $row["product_name"];
             $product_category = $row["product_category"];
             $product_retail_price = $row["product_retail_price"];
             $product_price = $row["product_price"];
             $screenshot =$row["screenshot"];

        }
}
else{
   if (isset($_POST['pid'])) {
      $targetID = $_POST['pid'];
   }
}
于 2013-10-12T20:42:12.293 に答える