Очень необычный пользовательский логин - PullRequest
0 голосов
/ 29 февраля 2012

Я создал базовую систему входа в систему PHP для веб-сайта.Пока что единственные реальные участники, в которых могут участвовать участники, - это форум, созданный с нуля.

По какой-то причине переменные сеанса не совпадают с нужным пользователем.Например:

  1. Пользователь Джон входит в систему. Все хорошо.Он публикует сообщения на форуме, и его имя пользователя относится к его сообщению.

  2. Пользователь Джейн входит в систему. Все становится странно.Когда Джейн публикует сообщения на форуме, к сообщению приписывается имя пользователя Джона.Аналогичным образом, когда Джон публикует сообщения после входа в систему Джейн, имя пользователя Джейн связывается с этим сообщением.

Я понятия не имею, почему или как это могло произойти.

---------- Запрошенный код -----------------------------

Вот логинкод, я предполагаю, что проблема должна быть где-то здесь:

<?PHP
session_start();
$citizen_email = $_POST['form_email'];
$citizen_password = $_POST['form_password'];
//

// Connect To Database
$connection = mysqli_connect("localhost", "notreal", "notreal", "notreal");
// Create & Submit Query
$query = "SELECT * FROM citizens WHERE citizen_email='$citizen_email' AND citizen_password='$citizen_password'";
$query_result = mysqli_query($connection, $query);
$query_num_rows = mysqli_num_rows($query_result);
if ($query_num_rows > 0) {
while ($query_array = mysqli_fetch_array($query_result, MYSQLI_ASSOC)) {
$citizen_name = $query_array['citizen_name'];
$citizen_id = $query_array['citizen_id'];
}
$_SESSION["citizen_id"] = $citizen_id;
$_SESSION["citizen_name"] = $citizen_name;

$sqlOnlineCitizen = "INSERT INTO online_citizens VALUES ('$citizen_id', now(), now())";
$onlineCitizenGo = mysqli_query($connection, $sqlOnlineCitizen);
$content = "<p>Welcome to Sachap $citizen_name. <a href=\"http://nationsimulationgame.com/nation/index.php\">Click here</a> to continue.</p>";
} else {
$content = "<p>The email/password combination you provided did not match any citizenship records. You can <a href=\"customs_login.php\">try again</a> or <a href=\"#\">recover your password.</a></p>";
}

?>

1 Ответ

0 голосов
/ 29 февраля 2012

Это настоящие пользователи или тестовые аккаунты? Возможно ли, что у них одинаковые адрес электронной почты и пароль, но разные имена?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...