感谢所有帮助我解决以前麻烦的人。我的脚本正常工作,所以我可以添加&显示条目。现在我跟着本教程一起更新条目,但是当我运行它时,我在页面上收到此错误: ! )注意:未定义的索引:第21行的/var/www/inventory/update.php中的id 调用堆栈
1 0.0000 229608 {main}()../update.php:0 代码如下所示:
<?php
ini_set("display_errors","on");
$dsn='mysql:host=localhost;dbname=inventory_form';
$username="***";
$password="****";
$database="inventory_form";
try
{
$link=new PDO($dsn, $username,$password);
echo 'Connected to MySQL Server';
}
catch (PDOException $e)
{
$error_message=$e->getMessage();
echo "<h1>An error occurred: $error_message</h1>";
}
$id=$_POST['id'];
$query="SELECT * FROM Inventory WHERE id='$id'";
$result=$link->query($query);
while ($row = $result->fetch()) {
echo '<b><i><center><font size=5>'. $row['FName'] .'</font></b></i></center><br /n>';
echo '<b><i><center><font size=5>'. $row['LName'] .'</font></b></i></center><br /n>';
echo '<b><i><center><font size=5>'. $row['Eqpmnt_Brwd'] .'</font></b></i></center><br /n>';
echo '<b><i><center><font size=5>'. $row['Service_Tag'] .'</font></b></i></center>';
echo '<b><i><center><font size=5>'. $row['Date_Taken'] .'</font></b></i></center>';
echo '<b><i><font size=5>'. $row['Comments'] .'</font></b></i>';
}
?>
<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo "$id"; ?>">
<font size=5>First Name:</font><input type="text" name="ud_first" maxlength="12"
size="12" />
<font size=5>Last Name:</font><input type="text" name="ud_last" maxlength="36" size="12" />
<font size=5>Equipment Borrowed:</font><input type="text" name="ud_Equipment_Borrowed" maxlength="60" size="14" /><br />
<font size=5>Service Tag:</font><input type="text" name="ud_Service_Tag" maxlength="6" size="6" /><br />
<font size=5>Date Taken:</font><input type="text" name="ud_Date_Taken" /><br />
<font size=5>Additional Comments:</font><br />
<textarea name="ud_Comments" maxlength="150" cols="50" rows="3"></textarea> <br /> <br />
<input type="Submit" value="Update">
</form>
?/
然后我从updated.php脚本中得到了一堆错误: 注意:未定义的变量:第19行的/var/www/inventory/updated.php中的ud_first 调用堆栈
1 0.0002 231664 {main}()../ updated.php:0
(!)注意:未定义的变量:第19行的/var/www/inventory/updated.php中的ud_last 调用堆栈
1 0.0002 231664 {main}()../ updated.php:0
(!)注意:未定义的变量:ud_Equipmnt_borrowed在第19行的/var/www/inventory/updated.php中 等所有变量。 那个脚本是:
<?php
ini_set("display_errors","on");
$dsn='mysql:host=localhost;dbname=inventory_form';
$username="***";
$password="****";
$database="inventory_form";
try
{
$link=new PDO($dsn, $username,$password);
echo 'Record added succesfully';
}
catch (PDOException $e)
{
$error_message=$e->getMessage();
echo "<h1>An error occurred: $error_message</h1>";
}
$query="UPDATE contacts SET FName='$ud_first', LName='$ud_last', Eqmnt_Brwd='$ud_Equipmnt_borrowed', Service_Tag='$ud_Service_Tag', Date_Taken='$ud_Date_Taken', Comments='$ud_Comments' WHERE id='$ud_id'";
echo "Record Updated";
?>
任何帮助非常感谢。我对如何使用id字段来完成所有工作有点困惑。根据教程我应该有一个填写表格准备编辑特定条目。谢谢提前
更新。这是代码:
<?php
ini_set("display_errors","on");
$dsn='mysql:host=localhost;dbname=inventory_form';
$username="***";
$password="*****";
$database="inventory_form";
try
{
$link=new PDO($dsn, $username,$password);
echo 'Connected to MySQL Server';
}
catch (PDOException $e)
{
$error_message=$e->getMessage();
echo "<h1>An error occurred: $error_message</h1>";
}
$id=htmlspecialchars($_GET['id']);
$query="SELECT * FROM Inventory WHERE id='$id'";
$result=$link->query($query);
while ($row = $result->fetch()) {
echo '<b><i><center><font size=5>'. $row['FName'] .'</font></b></i></center><br /n>';
echo '<b><i><center><font size=5>'. $row['LName'] .'</font></b></i></center><br /n>';
echo '<b><i><center><font size=5>'. $row['Eqpmnt_Brwd'] .'</font></b></i></center><br /n>';
echo '<b><i><center><font size=5>'. $row['Service_Tag'] .'</font></b></i></center>';
echo '<b><i><center><font size=5>'. $row['Date_Taken'] .'</font></b></i></center>';
echo '<b><i><font size=5>'. $row['Comments'] .'</font></b></i>';
}
?>
<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo "$id"; ?>">
<font size=5>First Name:</font><input type="text" name="ud_first" maxlength="12" size="12" />
<font size=5>Last Name:</font><input type="text" name="ud_last" maxlength="36" size="12" />
<font size=5>Equipment Borrowed:</font><input type="text" name="ud_Equipment_Borrowed" maxlength="60" size="14" /><br />
<font size=5>Service Tag:</font><input type="text" name="ud_Service_Tag" maxlength="6" size="6" /><br />
<font size=5>Date Taken:</font><input type="text" name="ud_Date_Taken" /><br />
<font size=5>Additional Comments:</font><br />
<textarea name="ud_Comments" maxlength="150" cols="50" rows="3"></textarea> <br /> <br />
<input type="Submit" value="Update">
</form>
?>
答案 0 :(得分:0)
第一个:您必须在网址末尾添加类似'?id = NUMBER'的内容(例如:update.php?id = 1')才能使用ID
为此,您必须使用:
$id = htmlspecialchars($_GET['id'])
第二个:您使用了$ ud_last等但未在代码中定义它们,您必须这样做:
$ud_last = $_POST['ud_last'];
然后它应该工作