在尝试创建仅限管理员评论编辑系统时,调用“编辑”功能时似乎出现错误
功能:
function editComment($conn) {
if (isset($_POST['submitComment'])) {
$cid = $_POST['cid'];
$uname = $_POST['uname'];
$date = $_POST['date'];
$message = $_POST['message'];
$sql = "UPDATE comments SET message='$message' WHERE cid='$cid'";
$result = mysqli_query($conn, $sql);
header("Location:index.php");
exit;
}
}
应该调用函数的php:
<?php
$cid = $_POST['cid'];
$uname = $_POST['uname'];
$date = $_POST['date'];
$message = $_POST['message'];
echo "<form class='commentSection' method='POST' action='".editComment($conn)."'>
<input type='hidden' name='cid' value='".$cid."'>
<input type='hidden' name='uname' value='".$uname."'>
<input type='hidden' name='date' value='".$date."'>
<textarea name='message'>".$message."</textarea><br>
<button type='submit' name='editComment'>Edit!</button>
</form>";
?>
运行编码器导致编辑页面重新加载但没有添加到数据库中,并查看chrome上的网络选项卡我找不到任何对该函数的其他php文件的请求。
在github上生活:https://github.com/TheWalkingM3m3/Test-Site
答案 0 :(得分:0)
var_dump($ row),首先检查结果
答案 1 :(得分:0)
使用var_dump($ row);调试变量
的输出此代码中主要有两种类型的错误:
它将在第27行的C:\ xampp \ htdocs \ includes \ comments.inc.php中显示注意:数组到字符串转换:
你不能回显一个只有数组的字符串可以回应那个为什么数组到字符串的转换错误
注意:未定义的变量:在第28行的C:\ xampp \ htdocs \ includes \ comments.inc.php中取消命名:
**在此if($ uname ==&#39; TheWalkingM3m3&#39;){ - 已选中并且未设置$ uname变量,可能是您的上述if(isset($ _ Session ..)条件被跳过,所以,我建议声明$ uname =&#39;&#39 ;;在while while循环。**
答案 2 :(得分:0)
我不明白为什么你的代码的重要部分在双引号之间,但也许有一个原因并且你没有提到它。
但是,我不知道为什么要在所有变量名称周围加上大括号。也许你应该考虑删除它们,至少在$ uname附近,因为它既不是数组键也不是对象属性。
也许如果你更多地解释了代码应该实现的目标,那么就更容易指出你犯错的地方。