У меня есть проблема в моем коде, это вход в систему с любым именем пользователя и паролем без проверки его из базы данных. Более подробно объясните ниже. У меня есть 2 таблицы: одна для имен пользователей и одна для паролей, я пытаюсь сделать свой код похожим на эту таблицу пользователей:идентификатор, имя пользователя, телефон, таблица паролей электронной почты, в которой есть: идентификатор, идентификатор пользователя, пароль
каждый пароль, связанный с идентификатором пользователя в поле user_id
Я хочу, чтобы мой код работал следующим образом, если имя пользователя,адрес электронной почты или телефон в одной строке, равной паролю, имеют тот же user_id, что и в строке make login
Пример таблицы пользователей: 1, eddy, edd@example.com, 4493838 таблица паролей: 1, 1 (обратите внимание: это идентификатор пользователя из таблицы пользователей), alfa
<?php
$servername = "localhost";$username = "username";$password = "password";$dbname = "myDBPDO";
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username']))
{?>
Welcome <? echo $_SESSION['users_id'] ?>
<?php
}
elseif(!empty($_POST['various-login']) && !empty($_POST['password']))
{
// PDO
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Database
$stmt = $conn->prepare("SELECT id as users_id, username, email, phone FROM users");
$stmt->execute();
$stmt = $conn->prepare("SELECT id as passwords_id, user_id, password FROM passwords");
$stmt->execute();
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
$various_login= $_POST['various-login'] == $userRow['email'] or $userRow['phone'];
$user_and_password = $userRow['users_id'] === $userRow['user_id'];
$password = $_POST['password'] == $user_and_password;
if($stmt->rowCount() == 1)
{
$email = $userRow['email'];
$_SESSION['Username'] = $username;
$_SESSION['email'] = $email;
$_SESSION['LoggedIn'] = 1;
echo "<h1>Success</h1>";
echo $email;
}
else
{
echo "<h1>Error</h1>";
echo "<p>Sorry, your account could not be found. Please <a href=\"index.php\">click here to try again</a>.</p>";
}}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
} else {?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Email/Phone: <input type="text" name="various-login" value="<?php echo $website;?>">
<br><br>
Password: <input type="password" name="password">
<br><br>
<input type="submit" name="submit" value="<?php echo $lang['NEXT']; ?>">
</form>
<?php}?>