使用$_POST设置Select语句中的文本框值



我目前正在尝试创建一个更新类型的脚本,管理员可以在其中单击更新按钮,数据库中已经存在的文本显示在文本框中;如果文本不正确,管理员可以替换文本。

我目前有一个名为"未定义索引"的错误。这是我尝试从select语句中为文本框设置值的时候。

这是我目前的进展,

<?php
require 'configure.php';
if(isset($_GET['id']))
{
$id=$_GET['id'];
if(isset($_POST['Edit']))
{
    $sql = "UPDATE `pet` SET `pettype` = :petType WHERE id = :id";
    $statement = $pdo->prepare($sql);
    $id = $_GET['id'];
    $petType = $_POST['petType'];
    $statement->bindValue(':id', $id);
    $statement->bindValue(':petType', $petType);
    $update = $statement->execute();
if($sql)
{
header('location:index.php');
}
}
$jobID = $_GET['id'];
$stmt = $pdo->query('SELECT * FROM pet WHERE petType = "' . $jobID . '"');
$result = $stmt->fetch(PDO::FETCH_ASSOC);
}
?>

这是我的更新代码,以及底部的填充语句。

<form method="post" action="">
Name:<input type="text" name="petID" value="<?php echo $_POST['petID'] ?>" /><br />
Age:<input type="text" name="petType" value="<?php echo $_POST['petType'] ?>" /><br /><br />
<br />
<input type="submit" name="submit" value="update" />
</form>

这是我用来编辑数据的表格。

我试过

value="<?php echo ($pdo['petType']) ?>"
value="<?php echo $stmt['petType'] ?>"

也许一个稍微有点智慧的人能够提供帮助。感谢

value="<?php echo $result['petType'] ?>"

但代码的一个问题是,您只是将$jobID插入到查询中,而没有对其进行清理。这可能会导致sql注入。

最新更新