После нескольких часов исследований, я пока не нашел нужного исправления, поэтому я здесь!
В настоящее время я работаю над школьным проектом, который использует файл валидатора login.php, чтобы проверить,пользователь заполнил все входные данные и т. д. и т. д., а также для создания сеансов.
require "config.inc.php";
$query = ("SELECT username, password, active FROM *DATABASE* WHERE username='".$username."' AND password='".$password."' AND active='1'") or die(mysql_error());
$result = mysqli_query($mysqli, $query);
$match = mysqli_num_rows($result);
if($match > 0){
//Directing to account page
header("Location:account.php");
//User info search
$queryID = ("SELECT id FROM *DATABASE* WHERE username='".$username."' AND password='".$password."' AND active='1'") or die(mysql_error());
$resultID = mysqli_query($mysqli, $queryID);
$id = mysqli_fetch_assoc($resultID);
$queryNAME = ("SELECT name FROM *DATABASE* WHERE username='".$username."' AND password='".$password."' AND active='1'") or die(mysql_error());
$resultNAME = mysqli_query($mysqli, $queryNAME);
$naam = mysqli_fetch_assoc($resultNAME);
//Session user info
$_SESSION['id'] = $id;
$_SESSION['naam'] = $naam;
Это всего лишь незначительная часть валидатора, но, как вы можете видеть, он перенаправляет на страницу учетной записи (Этоработает нормально) и должен создавать сеансы для имени и идентификатора, найденного в базе данных.
Страница учетной записи затем снова получает и переводит сеансы в переменные со следующим кодом:
//SESSIONS
require 'session.php'; //CHECKS IF SESSION IS VALID, IF NOT: RETURN TO HOME
//VARIABLES
if (isset($_SESSION['naam']) && isset($_SESSION['id']) && isset($_SESSION['username'])) {
print_r($_SESSION['naam']); //Debug purposes
print_r($_SESSION['id']);
print_r($_SESSION['username']);
$id = implode($_SESSION['id']); //Convert to String
$naam = implode($_SESSION['naam']);
$username = ($_SESSION['username']); //Already a string, this was a variable used in the POST form
var_dump($naam);
} else {
echo "No sessions"; //Debug purposes
}
Когда я отображаю имя пользователя на странице моей учетной записи, оно отображает имя пользователя совершенно нормально, и я предполагаю, что это потому, что имя пользователя всегда было строкой, с которой начинается."хотя нама в базе данных просто Администратор.
Это мой результат print_r:
Array ( [0] => Administrator [name] => Administrator )
Array ( [0] => 23 [id] => 23 )
admin
string(26) "AdministratorAdministrator"
Любые подсказки о том, как я моггарантию, что всякий раз, когда я повторяю переменную naam, она показывает только один раз Администратор, а не дважды?спасибо!