我有这段代码,它似乎可以工作。这些值正在更新,但是当我重新加载页面时,更新后的值没有任何值。例如,现在我将标题设置为“blablabla”,当我重新加载页面时,它会更改为“”。
这是代码
<?php
$title = $_POST['title'];
$meta = $_POST['meta'];
$email = $_POST['email'];
$analytics = $_POST['analytics'];
$query = "UPDATE websettings SET title = '$title', meta = '$meta', email = '$email', analytics = '$analytics' WHERE id = '1'";
if(mysql_query($query)){
echo "success";
}
else {
echo "fail";
}
?>
最佳答案
您的代码将 $_POST
变量应用于数据库,但不检查客户端是否实际发布任何内容。最好检查 $_POST
是否包含数组项(如果已发布表单),并检查每个项是否已设置(如果用户填写了正确的字段),并在保存之前验证用户输入(电话号码、电子邮件等格式正确)。
正如评论中所指出的,您很容易受到 SQL 注入(inject)攻击 - 这是您应该解决的第一件事。
也尝试打开更多 PHP 错误 - 这些错误将标记为未设置的变量,以便更快修复。
关于php - 从php更新数据库信息,而不是保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33668044/