для школьного экзамена я должен сделать портфель. это должно содержать рабочую систему регистрации и регистрации. Я получил его там, где он будет регистрировать людей, но только если я вручную вводим данные в базу данных. но теперь, когда я пытаюсь позволить людям регистрировать их самостоятельно, он просто продолжает давать мне ошибку, что имя пользователя и адрес электронной почты allready существует, что в большинстве случаев не так. Я надеюсь, что ребята могут помочь мне в этом. вот код:
<?php include_once 'db_connect.php'; include_once 'psl-config.php'; $error_msg = ""; if (isset($_POST['username'], $_POST['email'], $_POST['p'])) { $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); $email = filter_var($email, FILTER_VALIDATE_EMAIL); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $error_msg .= '<p class="error">The email address you entered is not valid!</p>'; } $password = filter_input(INPUT_POST, 'p', FILTER_SANITIZE_STRING); if (strlen($password) != 128) { $error_msg .= '<p class="error">Invalid password configuration.</p>'; } $query_username = "SELECT id FROM members Where username == '$username' LIMIT 1"; $available_username = array(); if ($resultUsername = mysqli_query($mysqli, $query_username)) { if (mysqli_num_rows($resultUsername) > 0) { $error_msg .= '<p class="error">A user with this username already exists!</p>'; } } $query_email = "SELECT id FROM members Where email == '$email' LIMIT 1"; $available_email = array(); if ($resultEmail = mysqli_query($mysqli, $query_email)) { if (mysqli_num_rows($resultEmail) > 0) { $error_msg .= '<p class="error">A user with this username already exists!</p>'; } } if (empty($error_msg)) { $ipadress = $_SERVER['REMOTE_ADDR']; $random_salt = hash('sha512', uniqid(openssl_random_pseudo_bytes(16), TRUE)); $password = hash('sha512', $password . $random_salt); if (!$tableRowEmail = 1) { $sqlinsert = "INSERT INTO members (username, email, ipadress, password, salt) VALUES ($username, $email, $ipadress, $password, $random_salt)"; if (!mysqli_query($mysqli, $sqlinsert)) { header('Location: ../error.php?err=Registration failure: INSERT'); } } header('Location: ./register_success.php'); } } ?>
спасибо всем, внесли изменения. но теперь он все пропускает. и он ничего не регистрирует в моем localhost / phpmyadmin. Есть предположения?