2015-08-11 3 views
0

так, если закодированы некоторые PHP и HTML, но это не похоже на работуPHP + HTML verifyng зарегистрированных пользователей

<html> 
    <head> 
     <title>PHPRO Login</title> 
    </head> 

    <body> 
     <?php if(!isset($_SESSION['id_usuario'])): ?> 
     <h2>Login Here</h2> 
     <form action="login_submit.php" method="post"> 
      <fieldset> 
       <p> 
        <label for="login_usuario">Username</label> 
        <input type="text" id="login_usuario" name="login_usuario" value="" maxlength="20" /> 
       </p> 
       <p> 
        <label for="senha_usuario">Password</label> 
        <input type="text" id="senha_usuario" name="senha_usuario" value="" maxlength="20" /> 
       </p> 
       <p> 
        <input type="submit" value="? Login" /> 
       </p> 
      </fieldset> 
     </form> 
     <?php else: ?> 
     <h2>Logout Here</h2> 
     <p><a href="http://localhost:81/clinica/logout.php">Log Out Link<p> 
     <?php endif; ?> 
    </body> 
</html> 

Сво экран входа в систему, и я хочу зарегистрированных пользователей, чтобы увидеть сообщение «выход из системы здесь », и те, кто еще не вошли в систему, чтобы просмотреть обычную страницу входа в систему.

но он не работает, всегда отображает экран входа в систему.

Однако при использовании только php на тестовой странице, чтобы узнать, вошел ли пользователь в систему, используя этот код, он работает. ->if(isset($_SESSION['id_usuario'])) = logged in

<?php 

/*** begin the session ***/ 
session_start(); 

if(!isset($_SESSION['id_usuario'])) 
{ 
    $message = 'You must be logged in to access this page'; 
} 
else ........ rest of code 

любая помощь?

+1

*, похоже, не работает * не так много, чтобы продолжать. Подожди, позволь мне взять МОЮ ПЕРЧАТКУ. –

+3

В вашем первом примере кода у вас есть 'session_start();' где-нибудь? – Zsw

+0

Ваши пользователи находятся в базе данных или подобном? не работает для меня не очевидно –

ответ

1

Вы должны убедиться, что session_start() добавлен в версию документа HTML. Без этого PHP не будет знать, что есть активный сеанс. Таким образом, он считает, что пользователь не регистрируется каждый раз при загрузке страницы.

<?php session_start(); ?> 
<html> 
    <head> 
     <title>PHPRO Login</title> 
    </head> 

    <body> 
     <?php if(!isset($_SESSION['id_usuario'])): ?> 
     <h2>Login Here</h2> 
     <form action="login_submit.php" method="post"> 
      <fieldset> 
       <p> 
        <label for="login_usuario">Username</label> 
        <input type="text" id="login_usuario" name="login_usuario" value="" maxlength="20" /> 
       </p> 
       <p> 
        <label for="senha_usuario">Password</label> 
        <input type="text" id="senha_usuario" name="senha_usuario" value="" maxlength="20" /> 
       </p> 
       <p> 
        <input type="submit" value="? Login" /> 
       </p> 
      </fieldset> 
     </form> 
     <?php else: ?> 
     <h2>Logout Here</h2> 
     <p><a href="http://localhost:81/clinica/logout.php">Log Out Link<p> 
     <?php endif; ?> 
    </body> 
</html> 
+0

Спасибо большое, отлично работал. Кроме того, извините за то, что я не уточнил свой вопрос должным образом. В следующий раз. – esdo

+0

@ ... не проблема. Если это ответит на ваш вопрос, выберите его в качестве ответа, чтобы другие знали, что вам помогли. – RhapX

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