У меня есть страница комментариев, и там, где у меня есть роли пользователей (Глобальный администратор (3), Администратор (2), Пользователь (1)), все они могут оставлять комментарии на странице.
Моя проблема в том, что роль пользователя (1,2 или 3) заносится в таблицу вместо имени пользователя. Есть идеи, как это исправить? Вот код вставки.
<?
include 'dbconnect.php';
$userName = $_SESSION['user'];
$comment = $_REQUEST["comments"];
$game_ID = $_SESSION['id'];
$query = "INSERT INTO comments (userName, comment, page_ID) VALUES ('$userName', '$comment', '$game_ID')";
mysql_query ($query);
echo "Thanks, your comment has been added!";
include 'close.php';
?>
Код входа:
$errorMessage = '';
if (!empty($_POST['txtuserName']) && !empty($_POST['txtpassword'])) {
include 'dbconnect.php';
$user = $_POST['txtuserName'];
$password = $_POST['txtpassword'];
// check if the user id and password combination exist in database
$query = "SELECT userName, password, role FROM member WHERE userName = '$user' AND password = '$password'";
$output = mysql_query($query) or die('Query failed. ' . mysql_error());
$row = mysql_fetch_array($output);
if (mysql_num_rows($output) == 1 AND $row['role']==1) {
// the user id and password match,
// set the session
$_SESSION['user'] = true;
// after login we move to the main page
header('Location: games.php');
exit;
}
elseif (mysql_num_rows($output) == 1 AND $row['role']==2) {
// the user id and password match,
// set the session
$_SESSION['admin'] = true;
$_SESSION['user'] = true;
// after login we move to the main page
header('Location: games.php');
exit;
}
elseif (mysql_num_rows($output) == 1 AND $row['role']==3) {
// the user id and password match,
// set the session
$_SESSION['admin'] = true;
$_SESSION['user'] = true;
$_SESSION['global'] = true;
// after login we move to the main page
header('Location: listUsers.php');
exit;
}
else {
$error = 'The supplied username and/or password was incorrect. Please try again.';
}
include 'close.php';
}
?>