将表单的值发布到数据库

时间:2013-01-24 18:52:53

标签: php mysql

对于你们中的许多人来说这可能是一个非常简单的问题,但是我被困在这里。我有两个文件frame1.php和frame.php.frame1.php的代码是

 <?php
include "localhost.php";
                if(isset($_POST['button']))
                {
                    $query = $_POST['class'];
                    $raw_results = mysql_query("SELECT * FROM books
                        WHERE class = '$query'") or die(mysql_error());

                        echo 'Class:-'."".$query;
                        ?>
                        <table width="500" border="1">
              <tr>

                <td width="96" align="center">Name</td>
                <td width="107" align="center">Class:-</td>
                <td width="109" align="center">Price:-</td>
                 <td width="43" align="center">Quantity:-</td>
                 <td width="112" align="center">Select quantity</td>
                <td width="112" align="center">Total amount</td>

                <td width="112" align="center">Add:-</td>
              </tr>


         <?php
                    if(mysql_num_rows($raw_results) > 0)
                    {
                        while($results = mysql_fetch_array($raw_results))
                        {
                            ?>

              <tr><td align="center"><input name="items" type="text" disabled="disabled" id="itm" value="<?php echo $results['items'];?>" />                  </td>
              <td  align="center"><input name="class" type="text" disabled="disabled" id="cls" value="<?php echo $results['class'];?>" /></td>
                <td  align="center"><input name="price" type="text" disabled="disabled" id="prc" value="<?php echo $results['price'];?>" /></td>
                <td  align="center"><input name="quantity" type="text" disabled="disabled" id="quan" value="<?php echo $results['quantity'];?>" /></td>
                <td  align="center"><select name="select_quantity" onchange="getquant(this.value);"><option>Select quantity</option>
                <?php  for ($i=1;$i<=$results['quantity'];$i++)
                                                    {
                                                echo '<option>'. htmlspecialchars($i) . "</option>\n";
                                                    }

                                               ?></select></td>
                <td  align="center"><input name="total" type="text" value="" id="total" disabled="disabled"  /><br /></td>



                <td align="center"><a target="frame3" href="frame3.php?var=<?php echo $results['items'];?>">Add</a></td>
              </tr>

        <?php
                        }
                    }
                    else
                        {
                            echo "There is no record.";
                        }

                    }

            ?>
            <?php




            ?>
          </table>

frame3.php的代码是

<?php
$name=$_GET['var'];
include "localhost.php";
$sql="insert into temp_data(items,class,category,price,date,quantity,select_quantity,total) values('$_POST[items]','$_POST[class]','$_POST[category]','$_POST[price]','$date','$_POST[quantity]','$_POST[select_quantity]','$_POST[total]') where items=$name ";
    mysql_query($sql);
$query1="select * from temp_data";
$results=mysql_query($query1);
            ?>

现在我试图将我从frame1.php中的文本框收到的值输入到数据库temp_data中,但我在frame3.php中收到了未定义索引的错误。 可能有什么问题?????

1 个答案:

答案 0 :(得分:0)

使用POST而不是GET - strip slash,real_escape_等...和mysqli,因为mysql_自PHP-5起已被弃用。尝试使用PHP的KISS方法。得到它的功能让它变得安全得到它。