这个发布按钮在我的 Xampp 本地服务器上运行良好,但是当我在我的实时网络服务器上使用它时它没有任何作用。
来自页面的代码:
num_pressed
以及我的functions.php文件中的函数
<?php if ($_SESSION['user']['role'] == "Admin" ): ?>
<td>
<?php if ($post['published'] == true): ?>
<a class="btn unpublish"
href="<?php echo BASE_URL .'/admin/posts.php' ?>?unpublish=<?php echo $post['id'] ?>">
<i class="fas fa-check"></i>
</a>
<?php else: ?>
<a class="btn published"
href="<?php echo BASE_URL .'/admin/posts.php' ?>?published=<?php echo $post['id'] ?>">
<i class="fas fa-times"></i>
</a>
<?php endif ?>
</td>
}
我真的希望这个按钮改变我的数据库表中“已发布”的值。 0 未发布,1 已发布
错误日志报告了这个
[07-Feb-2021 09:33:35 Europe/Berlin] PHP 严格标准:strtotime():我们在 /homepages/46/d856728078 中为“CET/1.0/no DST”选择了“Europe/Berlin” /htdocs/index.php 第 140 行 [2021 年 2 月 7 日 09:33:35 欧洲/柏林] PHP 严格标准:date():我们在 /homepages/46/d856728078/htdocs/ 中为“CET/1.0/无夏令时”选择了“欧洲/柏林” index.php 第 140 行
但没有一个页面是关于我正在质疑的页面。
我更改了默认时区,不再收到该错误,但没有解决问题。
答案 0 :(得分:0)
所以,我在 stackoverflow 的另一个页面上找到了我的问题的答案。 Answer for publish/unpublish not functioning
问题是functions.php文件中的这行代码
$sql = "UPDATE posts SET published=!published WHERE id=$post_id";
显然,这一行是错误的,应该改用这一行。
$sql = "UPDATE posts SET published = not published WHERE id=$post_id";
我希望这可以帮助其他有类似问题的人。