我在网上找到了这个代码,现在我试图使它工作。我得到一个错误,当我按编辑从第一页。
Notice: Undefined variable: id in edit_form2.php on line 19
我不知道为什么这个变量不包括在代码中,它应该去哪里?还是跟我的桌子有关?
Database = album
Table = data_employees
1. id primaray key & a_i
2. name
3. address
当我按下编辑按钮时,下一页应该从数据库加载现有数据。现在它变成了空加上我写的错误代码。我该怎么办?
edit。
<td align="center">DATA</td>
</tr>
<tr>
<td>
<table border="1">
<?php
include"dbinc.php";//database connection
$order = "SELECT * FROM data_employees";
$result = mysql_query($order);
while ($row=mysql_fetch_array($result)){
echo ("<tr><td>$row[name]</td>");
echo ("<td>$row[employees_number]</td>");
echo ("<td>$row[address]</td>");
echo ("<td><a href='"edit_form2.php?id=$row[employees_number]'">Edit</a></td></tr>");
}
?>
</table>
edit_form2.php
<?php
include "dbinc.php";//database connection
$order = "SELECT * FROM data_employees
where employees_number='$id'";
$result = mysql_query($order);
$row = mysql_fetch_array($result);
?>
<form method="post" name=form action="edit_data2.php">
<input type="hidden" name="id" value="<?php echo "$row[employees_number]"?>">
<tr>
<td>Name</td>
<td>
<input type="text" name="name"
size="20" value="<?php echo "$row[name]"?>">
</td>
</tr>
<tr>
<td>Address</td>
<td>
<input type="text" name="address" size="40"
value="<?php echo "$row[address]"?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit"
name="submit value" value="Edit">
</td>
</tr>
</form>
edit_data2.php
<?php
//edit_data.php
include "dbinc.php";
$name = $_POST["name"];
$address = $_POST["address"];
$id = $_POST["id"];
$order = "UPDATE data_employees
SET name='$name',
address='$address'
WHERE
employees_number='$id'";
mysql_query($order);
header("location:edit.php");
?>
$id
变量必须在使用前声明;——
$id = mysql_real_escape_string($_GET['id']);
这一行不对
<input type="hidden" name="id" value="<?php echo "$row[employees_number]"?>">
试
<input type="hidden" name="id" value="<?php echo $row['employees_number']?>">
所以很有可能输入字段没有正确构建,浏览器完全忽略了该字段
edit.php
代替echo ("<tr><td>$row[name]</td>");
echo ("<td>$row[employees_number]</td>");
echo ("<td>$row[address]</td>");
echo ("<td><a href='"edit_form2.php?id=$row[employees_number]'">Edit</a></td></tr>");
echo "<tr><td>".$row['name']."</td>";
echo "<td>".$row['employees_number']."</td>";
echo "<td>".$row['address']."</td>";
echo "<td><a href='"edit_form2.php?id=".$row['employees_number']."'">Edit</a></td></tr>";
edit_form.php
<form method="post" name=form action="edit_data2.php">
<input type="hidden" name="id" value="<?php echo "$row[employees_number]"?>">
<tr>
<td>Name</td>
<td>
<input type="text" name="name"
size="20" value="<?php echo "$row[name]"?>">
</td>
</tr>
<tr>
<td>Address</td>
<td>
<input type="text" name="address" size="40"
value="<?php echo "$row[address]"?>">
</td>
</tr>
<tr>
应该 <?php
$id = mysql_real_escape_string($_GET['id']);include "dbinc.php";//database connection
$order = "SELECT * FROM data_employees
where employees_number='$id'";
$result = mysql_query($order);
$row = mysql_fetch_array($result);
?>
<form method="post" name=form action="edit_data2.php">
<input type="hidden" name="id" value="<?php echo $row['employees_number']; ?>">
<tr>
<td>Name</td>
<td>
<input type="text" name="name"
size="20" value="<?php echo $row['name']; ?>">
</td>
</tr>
<tr>
<td>Address</td>
<td>
<input type="text" name="address" size="40"
value="<?php echo $row['address']; ?>">
</td>
</tr>
<tr>
就像Mukesh Soni说的,你需要从url