2016-12-05 2 views
1

Я создал раздел администратора на своем локальном хосте для сайта, над которым я работал некоторое время, все работает так, как должно, на моем локальном хосте, но когда я загрузил его на живой сервер , он просто не будет работать - и когда я скажу, что не будет работать, он ничего не сделает! страница входа загружается так, как должна, и если я пытаюсь получить доступ к странице index.php без входа в систему, она перенаправляет меня на login.php, как и должно быть, но когда я перехожу к логину, он просто перезагружает страницу входа, и он делает то же самое, когда я иду зарегистрироваться.Сценарий входа в систему не работает на реальном сервере

Я потратил весь день на все возможные ошибки, о которых я могу думать, я дважды, а затем тройной проверил соединение с базой данных, таблицы и т. Д., Php, я повторил «привет мир!». из разных файлов, включенных в страницу входа, чтобы узнать, правильно ли они подключались к ним, и работает ли оно каждый раз ... Я даже проверял время, когда сервер был настроен, так как я читал где-то на другом форуме, что кто-то аналогичная проблема, они обновили сервер до нужного времени, и это сработало, что-то делать с сеансом ... но, увы, ничего не работает. Как я упоминал ранее, он отлично работает на моем локальном хосте, и я уже пробовал логин раньше на реальном сервере, который работал, но с тех пор я сделал больше работы.

для справки, вот мой класс для Логин/регистрации и т.д.:

<?php 

class USER { 
private $db_user; 

function __construct($db) { 
    $this->db_user = $db; 
} 

public function register($clientID,$u_fname,$u_lname,$u_tel,$u_email,$uname,$upass,$secQuestion,$secAnswer) { 

    try { 

     $new_password = password_hash($upass, PASSWORD_DEFAULT); 

     $stmt = $this->db_user->prepare("INSERT INTO users(client_id,user,pass,first_name,last_name,telephone,email,sec_question,sec_answer) VALUES(:client,:user, :pass, :fname, :lname, :tel, :email, :secQ, :secA)"); 

     $stmt->bindparam(":user", $uname); 
     $stmt->bindparam(":client", $clientID); 
     $stmt->bindparam(":pass", $new_password); 
     $stmt->bindparam(":email", $u_email); 
     $stmt->bindparam(":fname", $u_fname); 
     $stmt->bindparam(":lname", $u_lname); 
     $stmt->bindparam(":tel", $u_tel); 
     $stmt->bindparam(":secQ", $secQuestion); 
     $stmt->bindparam(":secA", $secAnswer);   
     $stmt->execute(); 

     return $stmt; 
    } catch(PDOException $e) { 
     echo $e->getMessage(); 
    } 
} 

public function login($uname, $upass) { 

    try { 

     $stmt = $this->db_user->prepare("SELECT * FROM users WHERE user=:user LIMIT 1"); 
     $stmt->execute(array(':user'=>$uname)); 
     $userRow=$stmt->fetch(PDO::FETCH_ASSOC); 
     if($stmt->rowCount() > 0) { 
      if(password_verify($upass, $userRow['pass'])) { 
       $_SESSION['user_session'] = $userRow['id']; 
       return true; 
      } else { 
       return false; 
      } 
     } 
    } catch(PDOException $e) { 
     echo $e->getMessage(); 
    } 
} 

public function is_loggedin() { 
    if(isset($_SESSION['user_session'])) { 
     return true; 
    } 
} 

public function logout() { 
    session_destroy(); 
    unset($_SESSION['user_session']); 
    return true; 
} 
} 
?> 

мой конфигурационный файл:

<?php 

require('constants.php'); 

try { 
$db = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USER, DB_PASS); 
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
$db->exec("SET NAMES 'utf8'"); 
} catch (PDOException $e) { 
echo "Could not connect to the database because: " . $e->getMessage(); 
exit; 
} 

include_once 'class.user.php'; 
$user = new USER($db); 
?> 

и мой Логин страница сама:

<?php 
session_start(); 
$page_title = "Love Deals Login"; 
require('../inc/connect/config.php'); 


if($user->is_loggedin()!="") { 
header("Location: index.php"); 
} 

if(isset($_POST['login'])) { 
$uname = $_POST['txt_uname']; 
$upass = $_POST['txt_upass']; 

if($user->login($uname,$upass)) { 
    header("Location: index.php"); 
} else { 
    $error = "Login failed. Please try again, or register"; 
} 
} 

include('inc/admin-header.php'); 

?> 

<div class="container" style="padding: 100px 0 0 0;"> 
<div class="form-container"> 
    <form method="post" id="login"> 
     <h3>Please login</h3> 
     <?php if(isset($error)) { ?> 
      <div class="alert alert-danger"> 
       <i class="glyphicon glyphicon-warning-sign"></i> &nbsp; <?php echo $error; ?> 
      </div> 
     <?php } else if(isset($_GET['joined'])) { ?> 
       <div class="alert alert-info"> 
        <i class="glyphicon glyphicon-ok"></i> &nbsp; Thanks! You are now registered. You may now login below 
       </div> 
     <?php } else if(isset($_GET['pass-update'])) { ?> 
       <div class="alert alert-info"> 
        <i class="glyphicon glyphicon-ok"></i> &nbsp; Success! Your password has been updated. You may now login below 
       </div> 
     <?php } ?> 
     <div class="form-group col-xs-12 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3 login"> 
      <input type="text" class="form-control" name="txt_uname" placeholder="Username" required /> 
     </div> 
     <div class="form-group col-xs-12 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3 login"> 
      <input type="password" class="form-control" name="txt_upass" placeholder="Password" required /> 
     </div> 
     <div class="clearfix"></div> 
     <div class="form-group col-xs-12 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3 login"> 
      <p class="small text">Forgotten <a href="forgot-user.php">Username</a>/<a href="forgot-pass.php">Password?</a></p> 
      <button type="submit" name="login" class="btn btn-primary pull-right"> 
       <i class="glyphicon glyphicon-log-in"></i>&nbsp;Login</button> 
     </div> 
     <div class="col-xs-12 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3" style="text-align: center;"> 
      <label>Don't have an account yet? <a href="agree.php">Register now</a></label> 
     </div> 
    </form> 
</div> 
</div> 
<?php include('inc/admin-footer.php'); ?> 

любые идеи что может помешать запуску моего скрипта? Или даже просто указать мне в правильном направлении, это было бы очень полезно!

+0

Я также добавлю, что если я намеренно вхожу в систему с неправильным именем пользователя или паролем, он не отображает сообщение об ошибке $, которое оно делает на localhost ... –

+0

Вы проверили журнал ошибок на сервере? –

+0

Да нет ошибок, относящихся к странице входа, единственные ошибки были из ошибки сервера 500, которую я уже исправил, что было связано с разрешениями на отдельный файл ... –

ответ

0

Попробуйте! Empty() вместо isset().

 Смежные вопросы

  • Нет связанных вопросов^_^