процедурный php и sql скрипт входа не работают

0

Я не могу войти в мое веб-приложение, которое в настоящее время выполняется на моем локальном сервере. Пожалуйста, помогите, ниже скрипт PHP... Ваша помощь будет оценена. Спасибо.

   <?php
    session_start();

      if (isset($_POST['submit'])){
       include 'db.inc.php';

      //Escape special characters/
      $email = mysqli_real_escape_string($conn, $_POST['email']);
      $pwd = mysqli_real_escape_string($conn, $_POST['pwd']);

      $login = "SELECT * FROM users WHERE user_email='$email'";
      $result = mysqli_query($conn, $login);
      $resultCheck = mysqli_num_rows($result);

      if ($resultCheck < 1) {
      header('Location: ../register.php?login=error-zero');
    }  else {
     if ($row = mysqli_fetch_assoc($result)) {
       $hashedpwdCheck = password_verify($pwd, $row['user_pwd']);
       if ($hashedpwdCheck == false) {
           header('Location: ../register.php?login=error'); //IT STOPS RUNNING HERE
           exit();
       } elseif ($hashedpwdCheck == true){
               $_SESSION['name'] = $row['user_name'];
               $_SESSION['lastname'] = $row['user_last_name'];
               $_SESSION['idnumber'] = $row['user_id_number'];
               $_SESSION['cellnumber'] = $row['user_cell'];
               $_SESSION['email'] = $row['user_email'];
               header('Location: ../inc/profile.php');
               exit();
       }
     }

   }
}

Ниже приведена форма входа в HTML...

<form action="inc/login.inc.php" method="POST">
            <label>Email</label><br>
            <input type="email" name="email" placeholder="Email"><br>
            <label>Password</label><br>
            <input type="password" name="pwd" placeholder="Password"> 
<br>
            <button type="submit" name="submit">Login</button>
            <p>Need An Account? Create <a href="register.php">New 
Account</a>.</p>
          </form>
  • 0
    точная ошибка есть?
  • 0
    Ошибка разбора: синтаксическая ошибка, неожиданное ';' в /var/www/html/moreki/inc/login.inc.php в строке 24 это строка 24 $ _SESSION ['name'] = $ row ['user_name'];
Показать ещё 13 комментариев
Теги:
mysqli

1 ответ

-1

Вы не извлекаете данные из базы данных, так как вы можете использовать функцию fetch_assoc(). Функция fetch_assoc() помещает все результаты в ассоциативный массив plz, добавляя эту строку $ row = $result-> fetch_assoc(); в вашем коде. ниже

.
.
.
$login = "SELECT * FROM users WHERE user_email='$email'";
      $result = mysqli_query($conn, $login);
      $resultCheck = mysqli_num_rows($result);
      $row = $result->fetch_assoc();
.
.
.
  • 0
    Это верный ответ. Почему не голосование? Я смоделировал этот код на своем локальном хосте. Только у него есть эта ошибка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню