нужна помощь в добавлении страницы «изменить профиль» в мой проект на небольшой социальной сети - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть проект, поэтому создайте небольшой сайт в социальной сети.Форма регистрации работает с именем пользователя, но когда я добавляю область для имени и фамилии, она не работает.Я понятия не имею, как добавить страницу «Изменить профиль», где пользователь может добавить фотографию профиля и биографию с основной информацией.Ниже приведен файл, который я использую при попытке добавить имя и фамилию, которые не работают.

if (isset($_POST['reg_user'])) {


$username = mysqli_real_escape_string($db, $_POST['username']);
$firstname = mysqli_real_escape_string($db, $_POST['firstname']);
$lastname = mysqli_real_escape_string($db, $_POST['lastname']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$password_1 = mysqli_real_escape_string($db, $_POST['password_1']);
$password_2 = mysqli_real_escape_string($db, $_POST['password_2']);


if (empty($username)) { array_push($errors, "Username is required"); }
if (empty($email)) { array_push($errors, "Email is required"); }
if (empty($password_1)) { array_push($errors, "Password is required"); }
if ($password_1 != $password_2) {
array_push($errors, "The two passwords do not match");
}


$user_check_query = "SELECT * FROM clients WHERE username='$username' OR 
email='$email' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);

if ($user) { // if user exists
if ($user['username'] === $username) {
  array_push($errors, "Username already exists");
}

if ($user['email'] === $email) {
  array_push($errors, "email already exists");
}
}

if (count($errors) == 0) {
$password = md5($password_1);

$query = "INSERT INTO clients (username, firsname, lastname, email, 
password) 
          VALUES('$username', '$firstname', '$lastname' '$email', 
'$password')";

mysqli_query($db, $query);
$_SESSION['username'] = $username;
$_SESSION['success'] = "You are now logged in";
header('location: indexclient.php');
}
}

1 Ответ

0 голосов
/ 12 апреля 2019

Я все еще не понимаю проблему на 100%, но я обнаружил ошибку в вашем INSERT запросе. вам нужно добавить точку с запятой после '$lastname'

Итак, это:

$query = "INSERT INTO clients (username, firsname, lastname, email, 
password) 
          VALUES('$username', '$firstname', '$lastname' '$email', 
'$password')";

Должно быть:

$query = "INSERT INTO clients (username, firsname, lastname, email, 
password) 
          VALUES('$username', '$firstname', '$lastname', '$email', 
'$password')";

В дополнение к вашему запросу открывается доступ к SQL-инъекции, как предотвратить SQL-инъекцию

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