PHP mysql表单,STUCK

时间:2012-03-16 17:09:42

标签: php mysql

好的,如果有人可以帮助解决这个简单的php和mysql问题。

我是数据库新手,并尝试创建我的第一个用户友好型数据库。但是我遇到了一个小问题。

我有一个显示数据的页面,我还有一个页面,其中显示相同的数据以及编辑链接,该页面将转到编辑表单。但是在编辑表单中,信息不会出现。

这是我的“edit.php”,它显示了数据库中的信息以及编辑链接:

    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    mysql_select_db("beyondmotors", $con);

    $result = mysql_query("SELECT * FROM vehicles");

    echo "<table border='1'>
    <tr>
    <th>ID</th>
    <th>Year</th>
    <th>Make</th>
    <th>Model</th>
    <th>Mileage</th>
    </tr>";

    while($row = mysql_fetch_array($result))
      {
      echo "<tr>";
      echo "<td>" . $row['id'] . "</td>";
      echo "<td>" . $row['year'] . "</td>";
      echo "<td>" . $row['make'] . "</td>";
      echo "<td>" . $row['model'] . "</td>";
      echo "<td>" . $row['mileage'] . "</td>";
      echo ("<td><a href=\"edit_form.php?id=$row[id]\">Edit</a></td></tr>");
      echo "</tr>";
      }
    echo "</table>";

    mysql_close($con);

这是编辑表格:

    <html>
    <head>
    <title>Form Edit Data</title>
    </head>

    <body>
    <table border=1>
      <tr>
        <td align=center>Form Edit Employees Data</td>
      </tr>
      <tr>
        <td>
          <table>
          <?
          $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    mysql_select_db("beyondmotors", $con);
          $order = "SELECT * FROM vehicles where id=$id";
          $result = mysql_query($order);
          $row = mysql_fetch_array($result);
          ?>
          <form method="post" action="edit_data.php">
          <input type="hidden" name="id" value="<? echo "$row[id]"?>">
            <tr>        
              <td>Year</td>
              <td>
                <input type="text" name="year" 
            size="20" value="<? echo "$row[year]"?>">
              </td>
            </tr>
            <tr>        
              <td>Make</td>
              <td>
                <input type="text" name="make" 
            size="20" value="<? echo "$row[make]"?>">
              </td>
            </tr>
            <tr>        
              <td>Model</td>
              <td>
                <input type="text" name="model" 
            size="20" value="<? echo "$row[model]"?>">
              </td>
            </tr>
            <tr>
              <td>Mileage</td>
              <td>
                <input type="text" name="mileage" 
              value="<? echo "$row[mileage]"?>">
              </td>
            </tr>
            <tr>
              <td align="right">
                <input type="submit" 
              name="submit value" value="Edit">
              </td>
            </tr>
          </form>
          </table>
        </td>
      </tr>
    </table>
    </body>
    </html>

我也有编辑数据,但它甚至没有达到目的。这是我在编辑表格中得到的! http://s562.photobucket.com/albums/ss69/intensemx/?action=view&current=pic.jpg

我关注了 this 教程:

帮助我迷失在这里,提前致谢:)

任何人都可以推荐我可以获得类似教程的好地方。

3 个答案:

答案 0 :(得分:7)

您使用的教程假设已启用short tags。更改代码以改为使用<?php

它还有SQL injection vulnerability

它似乎也假设register_globals已开启。

不要使用该教程。这是非常糟糕的。

答案 1 :(得分:1)

您需要将数组键括在引号中。例如,这个:

<input type="hidden" name="id" value="<? echo "$row[id]"?>">

应该是这样的:

<input type="hidden" name="id" value="<? echo $row['id']?>">

现在,除此之外,请考虑昆汀在答案中提到的问题。

答案 2 :(得分:0)

您的编辑表单使用PHP短标签(<? ?>),这些标签可能未在您的服务器上启用,因此一切都看错了。

您可以选择1)启用短标记,或2)将<?更改为编辑文件中的<?php