我在网上找到了这个代码,现在我试图让它工作。当我从第一页按下编辑时出现错误。
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.php
<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");
?>
答案 0 :(得分:0)
$id
变量;像 -
$id = mysql_real_escape_string($_GET['id']);
答案 1 :(得分:0)
此行错误
<input type="hidden" name="id" value="<?php echo "$row[employees_number]"?>">
尝试
<input type="hidden" name="id" value="<?php echo $row['employees_number']?>">
因为输入字段无法正确构建,所以很可能浏览器完全忽略该字段。
答案 2 :(得分:0)
<强> 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说的一样,你需要从网址中获取te id