无法使用$ _POST变量更新PHP中的数据库行

时间:2018-01-09 09:42:57

标签: php mysql

我想要它,以便当用户键入textarea / input并单击保存更改时,他们输入的信息已添加并保存到数据库中。以下是我的代码:

$name = $_SESSION['u_name'];
$uid = $_SESSION['u_uid'];
$id = $_SESSION['u_id'];

$con = mysqli_connect("localhost", "root", "pass123", "db_name");

if ($con->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    echo "<script type='text/javascript'>alert('connection failed. try again');</script>";
}

$remind1 = $_POST['remind1'];
$remind2 = $_POST['remind2'];
$remind3 = $_POST['remind3'];
$remind4 = $_POST['remind4'];
$remind5 = $_POST['remind5'];

if (isset($_POST['updBtn'])){
    $sql = "UPDATE reminders SET remindone='$remind1' WHERE username='$uid'";

    if ($con->query($sql) === TRUE) {
        echo "<script type='text/javascript'>alert('Updated successfully');</script>";
    }else{
        echo "<script type='text/javascript'>alert('error while updating. try again');</script>";
    }
}

以下是相应的HTML:

<form action="body.php" method="post"> 
    <input type="submit" class="sideBtn" value="Save Changes" name="updBtn"><br>       
    <input type="text" class="event" name="remind1"><br>
    <input type="text" class="event" name="remind2"><br>
    <input type="text" class="event" name="remind3"><br>
    <textarea class="event" name="remind4"></textarea><br>
    <textarea class="event" name="remind5"></textarea><br>
</form>

理想情况下,无论用户在textarea / input中输入的内容是否在数据库中更新,他们都可以访问并稍后调整文本(如果需要)。

我已经能够确定我的问题是在我的PHP中的$ _POST变量的某处,如果我用字符串替换上述变量:

$sql = "UPDATE reminders SET remindone='hello' WHERE username='$uid'";

......它完美无缺。但是在使用POST变量时,它不起作用。

如何修复我的这个错误并使其能够将文本发布到数据库中?这里需要$ _POST变量还是有另一种方法来实现这个目标?

0 个答案:

没有答案