如何使用PHP为不同用户分别插入下面的插入查询中提到的数据

时间:2018-07-06 08:51:03

标签: php

$query = "SELECT * FROM guests WHERE username='$username' AND password='$password'";
$results = mysqli_query($db, $query);
if (mysqli_num_rows($results) == 1) {
    $_SESSION['username'] = $username;
    $_SESSION['success'] = "You are now logged in";
    header('location: index2.php');
    //header('location: justfortest.php');

} else {
    array_push($errors, "Wrong username/password combination");
}

if (!empty($_POST['brief']) && !empty($_POST['measure']) && !empty($_POST['status']) && is_array($_POST['brief']) && is_array($_POST['measure']) && is_array($_POST['status']) && count($_POST['brief']) === count($_POST['measure'])) {
    $brief_array = $_POST['brief'];
    $measure_array = $_POST['measure'];
    $status_array = $_POST['status'];
    for ($i = 0;$i < count($brief_array);$i++) {
        $brief = mysqli_real_escape_string($con, $brief_array[$i]);
        $msure = mysqli_real_escape_string($con, $measure_array[$i]);
        $status = mysqli_real_escape_string($con, $status_array[$i]);
        mysqli_query($con, "INSERT INTO goals (brief_about, measure, progress) VALUES ('$brief', '$msure', '$status')");
    }
}

以下是用户登录和分别插入不同用户所需数据的代码。

任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我已在查询中插入用户名。从$_SESSION中检索用户名,并且必须在有效用户登录时设置用户名,并在发生错误或用户注销时取消设置用户名。

$query = "SELECT * FROM guests WHERE username='$username' AND password='$password'";
$results = mysqli_query($db, $query);
if (mysqli_num_rows($results) == 1) {
    $_SESSION['username'] = $username;
    // removed the weird success thing here
    header('location: index2.php');
} else {
    array_push($errors, "Wrong username/password combination");
    // always unset the username in session on errors and logout
    unset($_SESSION['username']);
}

if (isset($_SESSION['username']) && // session username must be set
    !empty($_POST['brief']) && 
    !empty($_POST['measure']) && 
    !empty($_POST['status']) && 
    is_array($_POST['brief']) && 
    is_array($_POST['measure']) && 
    is_array($_POST['status']) && 
    count($_POST['brief']) === count($_POST['measure'])) {
    $brief_array   = $_POST['brief'];
    $measure_array = $_POST['measure'];
    $status_array  = $_POST['status'];
    for ($i = 0;$i < count($brief_array);$i++) {
        $username = mysqli_real_escape_string($con, $_SESSION['username']);
        $brief    = mysqli_real_escape_string($con, $brief_array[$i]);
        $msure    = mysqli_real_escape_string($con, $measure_array[$i]);
        $status   = mysqli_real_escape_string($con, $status_array[$i]);
        $query    =  "INSERT INTO goals (username, brief_about, measure, progress) 
                      VALUES ('$username', '$brief', '$msure', '$status')"
        mysqli_query($con,$query);
    }
}

您将必须将列username添加到表goals中。之后,您可以像这样查询数据库:

SELECT * FROM goals WHERE username = ?

哪里是“?”代表$_SESSION['username']

我没有添加准备好的语句,因为这不是这个问题的意思。