2015-07-13 3 views
2

Я пытаюсь получить мою страницу, чтобы обновить после входа в это формат моего index.phpОбновление страницы после входа в систему?

<?php 
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username'])) 
{ 
    // let the user access the main page 
    // i have made the main content with jquery mobile framework 
} 
elseif(!empty($_POST['username']) && !empty($_POST['password'])) 
{ 
    // let the user login 
     include "login.php"; 

} 
else 
{ 
    // display the login form 
<form method="post" action="index.php" name="loginform" id="loginform"> 
      <fieldset> 
       <label for="username">Username:</label><input type="text" name="username" id="username" /><br /> 
       <label for="password">Password:</label><input type="password" name="password" id="password" /><br /> 
       <input type="submit" name="login" id="login" value="Login" /> 
      </fieldset> 
      </form> 

Внутри моей login.php

<?php 

    $username = mysql_real_escape_string($_POST['username']); 
    $password = mysql_real_escape_string($_POST['password']); 

    $checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'"); 

    if(mysql_num_rows($checklogin) == 1) 
    { 
     $row = mysql_fetch_array($checklogin); 
     $email = $row['email']; 
     $uid = $row['u_id']; 

     $_SESSION['Username'] = $username; 
     $_SESSION['EmailAddress'] = $email; 
     $_SESSION['LoggedIn'] = 1; 
     $_SESSION['uid'] = $uid; 
     $flag=1; 

    header("Location: http://5aday.dihops.net/index.php"); 
//  echo "<meta http-equiv=\"refresh\" content=\"0;index.php\">"; 
//header("Refresh: 2; url=http://5aday.dihops.net/index.php"); 
    // THIS IS WHERE I AM STUCK 
     } 
    else 
    { 
     echo "<h1>Error</h1>"; 
     echo "<p>Sorry, your account could not be found. Please <a href=\"index.php\">click here to try again</a>.</p>"; 
    } 
?> 
    } 
    ?> 

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

ответ

1

Вы не имеете никакого содержания под:

if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username'])) 
{ 
    // let the user access the main page 
    // i have made the main content with jquery mobile framework 
} 

Итак .. когда вы войти, нет ничего, чтобы видеть.

Кажется, нет никаких HTML-элементов для JavaScript, чтобы захватить дескриптор и изменить его. Если вы не используете JavaScript для создания элементов с нуля. Если да, проверили ли вы, что JavaScript загружен? Также проверьте наличие ошибок в консоли.

+0

Там это содержание .. я просто не добавить его .. в пояснении .. содержание отображается при я вручную обновляю страницу – KMC

+0

только содержимое HTML не загружается .... JS загружен .... и никаких ошибок на консоли .... – KMC

+0

Итак, есть ли какой-либо HTML внутри этого оператора if? –

0

Попробуйте этот код

<?php 
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username'])) 
{ 
    echo "Welcome".$_SESSION['Username']; 
} 
elseif(!empty($_POST['username']) && !empty($_POST['password'])) 
{ 
    // let the user login 
     include "login.php"; 

} 
else 
{ 
    // display the login form 
<form method="post" action="index.php" name="loginform" id="loginform"> 
      <fieldset> 
       <label for="username">Username:</label><input type="text" name="username" id="username" /><br /> 
       <label for="password">Password:</label><input type="password" name="password" id="password" /><br /> 
       <input type="submit" name="login" id="login" value="Login" /> 
      </fieldset> 
      </form> 
+0

не нужно 'isset ($ _ SESSION ['LoggedIn'])' когда вы используете '! Empty ($ _ SESSION ['LoggedIn'])' –

+0

Существует контент .. я просто не добавил его .. в объяснении .. содержимое отображается, когда я вручную обновляю страницу - – KMC

1

Согласно the link упомянутого заголовка (местоположение) должны быть размещены в верхней части страницы ... Так что я переставить, если условия ....

I добавил это в верхней части index.php

if(!empty($_POST['username']) && !empty($_POST['password'])) 
{ 
    include "login.php"; 


} ?> 

затем в теле я добавил другие, если заявления

if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username'])) 
{ 
    // let the user access the main page 
    // i have made the main content with jquery mobile framework 
}else 
else 
{ 
    // display the login form 
<form method="post" action="index.php" name="loginform" id="loginform"> 
      <fieldset> 
       <label for="username">Username:</label><input type="text" name="username" id="username" /><br /> 
       <label for="password">Password:</label><input type="password" name="password" id="password" /><br /> 
       <input type="submit" name="login" id="login" value="Login" /> 
      </fieldset> 
      </form> 
} 

Это устранило проблему.

0

Попробуйте использовать PHP_SELF для перенаправления ту же страницу

header('Location:'.$_SERVER['PHP_SELF']); 

это может помочь

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