0

我正在尝试创建一个程序,用户可以在其中更新任何特定产品。当用户单击UPDATE按钮时,将打开一个表单。我想HTML用数据填充表单MySQL。我已经编写了以下代码,但它给了我一条错误消息。我只分享HTML部分代码。我在 PHP echo 中使用这个 FORM。请检查一下。

HTML:

<label>Product Name:</label>  
</td>
<td>
    <input type='text' name='product_name' value='<?php echo $fetch['product_id']; ?'/>*Required  
</td>
</tr>

错误信息:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE),
expecting identifier (T_STRING) or variable (T_VARIABLE) or number
(T_NUM_STRING) in F:\xampp\htdocs\CMS\update_single_product.php

完整代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>

<?php

include 'connect.php';  
$id=    $_GET['product_id'];

    $select_query=  "select * from products Left join product_description 
        ON products.product_id=$id and product_description.product_id=$id";

    if(!$select_query_run=   mysql_query($select_query))
    {
        echo mysql_error();

        }

    else
    {
            $fetch =     mysql_fetch_array ($select_query_run);     



                echo "  
                <form action='insert_product.php' method='POST' enctype='multipart/form-data' >
                <table border=1>
                <tr>
                <td>

                <label>Product Name:</label> </td>  <td><input type='text' 
                name='product_name' value='<?php echo $fetch['product_id']; ?>'  />*Required</td></tr>

                <tr><td><label>Item No:</label></td> <td><input type='text' name='item_no' ></td></tr>


            <tr><td>    Image3:</td><td> <input type='file' name= 'image3' ></td></tr></table>  ";


/*------------------
Drop Down List Start
------------------  */      


            echo "<select name='category'>";

                $select_query=          'Select * from category';
                $select_query_run =     mysql_query($select_query);

                $sub_category_query=    "Select * from sub_categories";
                $sub_query_run=         mysql_query($sub_category_query);



            while   ($select_query_array=   mysql_fetch_array($select_query_run) )
            {

                        echo "<option value='".$select_query_array['category_id']."' >".
                        htmlspecialchars($select_query_array["name"]).

                        "<option value='".$sub_query_run['sub_category_id']."'  >" .
                        htmlspecialchars($sub_query_run['sub_category_name']).   "</option>".

                "</option>";




            }
            echo "</br>";

         $selectTag= "</br><input type='submit' value='Update Product'  /></select></form>";

         echo "</div></div>";

         echo $selectTag;

谢谢

4

4 回答 4

2
$id=    $_GET['product_id'];
$select_query=  "select * from products Left join product_description 
    ON products.product_id=$id and product_description.product_id=$id";

请注意,您可能在这里构建了一个 sql 注入。请阅读以下链接如何防止它们。 如何防止 PHP 中的 SQL 注入?

于 2013-07-23T06:49:32.097 回答
1

代替

echo "  
            <form action='insert_product.php' method='POST' enctype='multipart/form-data' >
            <table border=1>
            <tr>
            <td>

            <label>Product Name:</label> </td>  <td><input type='text' 
            name='product_name' value='<?php echo $fetch['product_id']; ?>'  />*Required</td></tr>

            <tr><td><label>Item No:</label></td> <td><input type='text' name='item_no' ></td></tr>


        <tr><td>    Image3:</td><td> <input type='file' name= 'image3' ></td></tr></table>  ";  

和:

echo '<form action="insert_product.php" method="POST" enctype="multipart/form-data">
            <table border=1>
            <tr>
            <td>

            <label>Product Name:</label> </td>  <td><input type="text" 
            name="product_name" value="'.$fetch['product_id'].'"  />*Required</td></tr>

            <tr><td><label>Item No:</label></td> <td><input type="text" name="item_no" ></td></tr>


        <tr><td>    Image3:</td><td> <input type="file" name= "image3" ></td></tr></table>';

因为你不能echo在里面使用echo。还有一件事你不需要<?php在 echo 中写标签,因为你已经启动了 php 标签。

于 2013-07-23T06:30:49.160 回答
1

利用

value="<?php echo $fetch['product_id']; ?>"

代替

value='<?php echo $fetch['product_id']; ?>'
于 2013-07-23T06:34:51.753 回答
0

早上试试:

    <td><label>Product Name:</label> </td>  
    <td><input type="text" name="product_name" value="<?php echo $fetch['product_id']; ?>" required="required" aria-required="true"  />*Required</td>

这对我来说很好..

注意到您已经更改了代码..但是您总是可以在表单之前关闭 php 并在表单代码上使用纯 html 并使用它...它会导致源代码稍微整洁(如果这很重要)

于 2013-07-23T06:31:46.900 回答