Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá! Vejam antes o código:
<?php
include "config.php";
if(isset($_POST['logemail']) && ($_POST['logpass'])) {
$emaillogin = $_POST['logemail'];
$pwdlogin = md5($_POST['logpass']);
}
$consulta = mysql_query("SELECT * FROM users WHERE email = '$emaillogin' AND password = '$pwdlogin'", $con);
$rows = mysql_num_rows($consulta);
session_start();
$session_data = mysql_fetch_assoc($consulta);
$_SESSION['email'] = $session_data['email'];
?>
<html>
<form name="LOGIN" method="POST" action="">
<input type="email" class="logininput" name="logemail" placeholder="<?php echo $EMAIL; ?>" autofocus="true">
<input type="password" class="logininput" name="logpass" placeholder="<?php echo $PASSWORD; ?>">
<input type="submit" class="sublog" value="Login" style="transition: 0.3s ease-in-out;">
</form>
</html>
A session é criada, tudo direitinho, eu atualizo a página (F5) e ela continua a existir. Mas quando clico na barra de endereços e dou ENTER ela deixa de existir e preciso enviar o formulario de novo. Qual o problema? Obrigado.o session_start() não deveria estar na primeira linha?
Outra pergunta por curiosidade:
Você pede para logar e loga normalmente. Daí muda o link o session é perdida certo? E se vc se loga pela segunda vez, não fica logado em definitivo?
>
o session_start() não deveria estar na primeira linha?
Não há necessidade nesse caso, pois ele só atribui valores na variável da sessão abaixo do inicio da mesma.
session_start();
$session_data = mysql_fetch_assoc($consulta);
$_SESSION['email'] = $session_data['email'];Não há necessidade nesse caso, pois ele só atribui valores na variável da sessão abaixo do inicio da mesma.
Ahhh entendi!!! Obrigado Ment0r!
Eu passei por um problema parecido recentemente. Por isso fiz também aquela pergunta sobre o comportamento do session.
Já experimentou testar em outros navegadores? Aparentemente não há nada de errado no código, até por que você não usada nada pra "destruir" a sessão.