2017-02-07 8 views
-2

Я новичок в нормализации баз данных, и я настройке страницы входа в систему,Возникли проблемы с нормализующих базами данных входа в систему

у меня есть этот код: и он не работает

     $password = mysqli_real_escape_string($sql , $password); 
         $emailuser = mysqli_real_escape_string($sql , $emailuser); 
         $pwcheck = " 
         SELECT * FROM business AS p 
         INNER JOIN user_business_data 
         AS c ON p.id = c.id 
         WHERE username='$emailuser' OR email='$emailuser'"; 
         $resultcheck = mysqli_query($sql , $pwcheck); 
         $rowcheck = mysqli_fetch_array($resultcheck , MYSQLI_ASSOC); 
         $hash = $rowcheck['password']; 
         $hash_pwd = password_verify($password , $hash); 
         if ($hash_pwd != 0) { 

          $_SESSION['username'] = $rowcheck['username']; 
          $_SESSION['logged'] = true; 
          header("refresh:0;url=blablabla.php"); 

         } 

ПРИМЕЧАНИЕ У меня есть 2 разных ТАБЛИЦЫ, бизнес И user_business_data, help

+0

вам нужно определить, что «не работает»; любые ошибки? проверять их? –

+0

Что имеет этот код для нормализации? –

+0

Нет ошибок, я попытался использовать error_reporting (E_ALL); ini_set ('display_errors', 1); но он не работал – guy

ответ

1

Как я упомянул в комментариях; длина столбца пароля слишком короткая, и вам нужно начать с нового хеша.

Столбец должен быть 60+.

какова длина столбца пароля? что может быть провал на вас молча - Фреда -ii-

работы! Спасибо: D Я действительно не думал о его длине, @ Фред-и-ха-ха! - парень

Согласно инструкции по password_hash()

Поэтому рекомендуется сохранить результат в столбце базы данных, которая может расширяться за пределы 60 символов (255 символов были бы хорошим выбором).