0

Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\tlsproject\server.php on line 25

looked over and over but still couldnt find the error

<?php

  session_start();

  //initializare variabile

  $username = "";
  $email = "";

  $errors = array();

  //conectare la baza de datefmt_create

  $db = mysqli_connect('localhost','root','','project') or die("Could not connect to database");

  //Inregistrare user

  $username = mysqli_real_escape_string($db, $_POST['username']);
  $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']);

  //Validare

  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, "Passwords do not match")};

  //Unicitate username

  $user_check_query = "SELECT * FROM user WHERE username = '$username' or email = '$email' LIMIT 1";

  $results = mysqli_query($db, $user_check_query);
  $user = mysqli_fetch_assoc($result);

  if($user)
  {
    if($user['username'] === $username){array_push($errors, "Username already exists");}
    if($user['email'] === $email){array_push($errors, "This email is already being used");}
  }

  //Inregistrare user

  if(count($errors) == 0){

    $password = md5(password_1); // encriptare parola
    $query = "INSERT INTO user (username, email, password) VALUES ('$username', '$email', '$password')";
    mysqli_query($db,$query);
    $_SESSION['username'] = $username;
    $_SESSION['success'] = "You are now logged in";

    header('location: index.php');
  }

 ?>

Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\tlsproject\server.php on line 25

  • 1
    You're missing semicolons at the end of your statements. They don't go outside the braces. – miken32 May 25 '19 at 18:19
  • 1
    What you need is a good IDE e.g. VSCode and proper code formatting. Then it is easy to spot such mistakes – Dharman May 25 '19 at 18:26
  • You should also look at using [password_hash()](https://stackoverflow.com/questions/30279321/how-to-use-password-hash) for passwords. – Nigel Ren May 25 '19 at 19:21

2 Answers2

1

error is here brother, semicolon(;) after braces...

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, "Passwords do not match")};

change it to this

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, "Passwords do not match");}
-1
<?php

  session_start();

  //initializare variabile

  $username = "";
  $email = "";

  $errors = array();

  //conectare la baza de datefmt_create

  $db = mysqli_connect('localhost','root','','project') or die("Could not connect to database");

  //Inregistrare user

  $username = mysqli_real_escape_string($db, $_POST['username']);
  $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']);

  //Validare

  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, "Passwords do not match");

  //Unicitate username

  $user_check_query = "SELECT * FROM user WHERE username = '$username' or email = '$email' LIMIT 1";

  $results = mysqli_query($db, $user_check_query);
  $user = mysqli_fetch_assoc($result);

  if($user)
  {
    if($user['username'] === $username) array_push($errors, "Username already exists");
    if($user['email'] === $email) array_push($errors, "This email is already being used");
  }

  //Inregistrare user

  if(count($errors) == 0){

    $password = md5(password_1); // encriptare parola
    $query = "INSERT INTO user (username, email, password) VALUES ('$username', '$email', '$password')";
    mysqli_query($db,$query);
    $_SESSION['username'] = $username;
    $_SESSION['success'] = "You are now logged in";

    header('location: index.php');
  }

 ?>

Note no need for {} when the code is in the same line where IF statement is

Jimmix
  • 5,644
  • 6
  • 44
  • 71