Автор Тема: Проблем с вход в потребителски профил  (Прочетена 3162 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Darnel

  • Full Member
  • ***
  • Благодарности
  • -Казани: 32
  • -Получени: 3
  • Публикации: 139
Здравейте. Имам проблем с входа в потребителския профил и той е че не влиза.
Уж изпраща заявка и уж всичко е правилно написано но без успех.

Ето кода от индекс пхп
Код: PHP
  1. include 'includes/autoloader.php';
  2.  
  3. if($users->isLogged()!="") {
  4.         $users->redirect('home.php');
  5. }
  6.  
  7. if(isset($_POST['signin'])) {
  8.         $users->u_name = $_POST['u_useremail'];
  9.         $users->u_email = $_POST['u_useremail'];
  10.         $users->u_pass = $_POST['u_pass'];
  11.        
  12.         if($users->signin($users->u_name, $user->u_email, $users->u_pass)) {
  13.                 $users->redirect("home.php");
  14.         } else {
  15.                 echo "Wrong details!";
  16.         }
  17. }
  18. ?>
  19. <form method="post">
  20.             <h2>Sign in.</h2><hr />
  21.             <div class="form-group">
  22.              <input type="text" class="form-control" name="u_useremail" placeholder="Username or E mail ID" required />
  23.             </div>
  24.             <div class="form-group">
  25.              <input type="password" class="form-control" name="u_pass" placeholder="Your Password" required />
  26.             </div>
  27.             <div class="clearfix"></div><hr />
  28.             <div class="form-group">
  29.              <button type="signin" name="signin">
  30.                  <i class="glyphicon glyphicon-log-in"></i>&nbsp;SIGN IN
  31.                 </button>
  32.             </div>
  33.             <br />
  34.             <label>Don't have account yet ! <a href="register.php">Sign Up</a></label>
  35.        </form>

Ето и метода от класа

Код: PHP
  1.     public function signin() {
  2.         try {
  3.             $stmt = $this->conn->prepare("SELECT * FROM " . $this->table . " WHERE u_name = :u_name OR u_email = :u_email LIMIT 1");
  4.             $stmt->execute(array(':u_name'=>$this->u_name, ':u_email'=>$this->u_email));
  5.             $userRow = $stmt->fetch(PDO::FETCH_ASSOC);
  6.            
  7.             if($stmt->rowCount() > 0) {
  8.                 if(password_verify($this->u_pass, $userRow['u_pass'])) {
  9.                     $_SESSION['id'] = $userRow['id'];
  10.                     $_SESSIOn[key] = $userRow[key];
  11.                     return true;
  12.                 } else {
  13.                     return false;
  14.                 }
  15.             }
  16.         }
  17.         catch (PDOException $e) {
  18.             echo $e->getMessage();
  19.         }
  20.     }

Ако имате насока къде точно греша ще е добре да помогнете ;)

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: Проблем с вход в потребителски профил
« Отговор #1 -: 23 Август 2019, 21:43:23 »
Дефинирал си метод, който не приема параметри:
Код: PHP
  1. public function signin() {

Пък после го извикваш с 3 параметъра?
Код: PHP
  1. if($users->signin($users->u_name, $user->u_email, $users->u_pass)) {

Доста объркващо, това същия метод ли е?
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

Darnel

  • Full Member
  • ***
  • Благодарности
  • -Казани: 32
  • -Получени: 3
  • Публикации: 139
Re: Проблем с вход в потребителски профил
« Отговор #2 -: 27 Август 2019, 18:41:55 »
Дефинирал си метод, който не приема параметри:
Код: PHP
  1. public function signin() {

Пък после го извикваш с 3 параметъра?
Код: PHP
  1. if($users->signin($users->u_name, $user->u_email, $users->u_pass)) {

Доста объркващо, това същия метод ли е?

Да , същия метод е. Проблемът беше в това , че имам метод за вход (signin) и такъв за валидиране на формата за вход (isValidForm). Проблемът беше там че съм объркал if-овете и не беше подреден кода за това уж изпраща нещо а в същото време не изпраща нищо.
Ако желаете може да заключите и дори да изтриете темата. Благодаря за отзива.