如果我选择带有自己照片的输入,我想在该输入中添加该特定照片的文字。我怎么做到这一点?我试图这样做:
$username = $_SESSION['username'];
$db = mysqli_connect("localhost", "root", "", "pictures");
$sql = "SELECT * FROM images WHERE username = '$username'";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_array($result);
$id = $row['id'];
$send = $_POST['send'];
if (isset($_POST['submit'])) {
$db = mysqli_connect("localhost", "root", "", "pictures");
$sql = "UPDATE images SET send='$send' WHERE username='$username' AND id='$id'";
mysqli_query($db, $sql);
header("Location: index");
} else {
}
HTML:
<form enctype="multipart/form-data" action="send_message" method="post">
<input name="send" placeholder="Send message" />
<button name="submit"></button>
</form>
我遇到的问题是当我添加文本时,它不会转到我选择的图片,而是转到与查询匹配的第一张图片。
答案 0 :(得分:0)
您需要发送要更改send
值的图片的ID。
您可以将它转换为int并使用预准备语句,并选择具有该id的数据库行以及用户(不要仅通过id选择,因此无法更改用户发送表单的图片的值不是所有者的)
因此您的表单应该类似于:
<form method="post">
<input type="hidden" name="id" value="<?PHP echo $row['id']; ?>"/>
<input type="text" name="send" placeholder="Send message"/>
<button name="submit"></button>
</form>
因此,您需要创建ID为phone的隐藏字段,以设置新的send
值。我假设您从数据库中有一行,该ID将作为隐藏ID字段的值插入。但是,如果您创建链接/按钮以将用户重定向到可以编辑照片的页面,则可以使用$_GET['id']
或$_POST['id']
。
您还可以通过点击照片使用javascript设置隐藏ID字段的值。