从php更新数据库信息,而不是保存

时间:2015-11-12 09:23:11

标签: php mysql

我有这个代码,它似乎正在工作。值正在更新,但是当我重新加载页面时,更新的值没有任何值。例如,现在我将标题设置为“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";
} 
?>

1 个答案:

答案 0 :(得分:2)

您的代码将$_POST变量应用于数据库,但不检查客户端是否实际发布了任何内容。最好检查$_POST是否包含数组项(如果表单已发布),并检查是否已设置每个项(如果用户填写了正确的字段),并在保存之前验证用户输入(电话号码,电子邮件等格式正确)。

正如评论中指出的那样,您很容易受到SQL注入攻击 - 这是您应该解决的第一件事。

尝试启用更多PHP错误 - 这些将标记为未设置的变量,以便更快地修复。