Ir para conteúdo
Fórum Script Brasil
  • 0

Funcao session_start


Eduardo Bueno

Pergunta

Trabalho bastante com PHP Scripts , mais to mechendo com sistema de login agora... não to conseguindo logar em 1 painel que tenho aqui , no localhost consigo logar normalmente , mais na hospedagem não loga de jeito nenhum , abri um ticket de suporte na empresa de hospedagem me falaram que o erro ta no session start , vou postar o codigo se alguém poder me falar onde pode tar o erro , sera de extrema ajuda.

Login.php

<?php include "topo.php";?>
<h4><center>
  Entre com seu Login e Senha para se logar:
</center></h4>
<form name="form1" method="post" action="verifica.php">
  <div align="center">Login: 
    <input name="apelido" type="text" id="apelido">
    <br>
    Senha: 
    <input name="senha" type="password" id="senha">
    <br>
    <input type="submit" name="Submit" value="Enviar">
  </div>
</form>
</body>
</html>


verifica.php

<?php require_once('../Connections/conexao.php'); ?>
<?php
$apelido = $HTTP_POST_VARS["apelido"];
$senha = $HTTP_POST_VARS["senha"];


$selecao = mysql_query("SELECT * FROM admin WHERE apelido = '$apelido' AND senha = '$senha' "); 

$row = mysql_fetch_array($selecao);

if ($row == "")
{
    echo "<center>apelido e/ou senha inválidos.</center>";
    echo "<br>";
    echo "<center><a href=java script:history.go(-1);>Voltar</a></center>";
exit;
}
else
{
  session_start();

  $_SESSION["apelido"] = $apelido;

  header ("location:index.php");
}

mysql_close($conexao);
?>

Att.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Verifique se no arquivo index.php você tem na primeira linha o comando session_start(); também

index.php

<?php
session_start();

if(!isset($_SESSION["apelido"]))

{
    header("Location: login.php");
    exit;
}
?>

<?php include "topo.php";?>
<html>
<center>
  <h1>Painel De Administra&ccedil;&atilde;o </h1>
</center>
</body>
</html>

PS> tem as tag certinha do php antes mais no code não ta funcioanndo aki no forum ou seja , a tag do php e logo depois o session start.

Editado por Eduardo Bueno
Link para o comentário
Compartilhar em outros sites

  • 0

Para imprimir tudo que há na session, utilize:

print_r($_SESSION);

e utilize o session_start() na primeira linha após a abertura da tag do php (vai ficar então na linha2, antes de TUDO).

Ao invés de $HTTP_POST_VARS["apelido"], utilize $_POST["apelido"], e a mesma coisa com a senha. O $HTTP_POST_VARS é uma 'versão' antiga do $_POST e já não é mais utilizado... (http://br2.php.net/manual/en/reserved.variables.post.php)

E outra coisa... tome cuidado com esse seu SELECT, pois do jeito que você está fazendo, uma pessoa pode facilmente inserir comandos SQL (como insert, drop etc) no campo de login e ou senha sem mesmo estar logado, porque você está simplesmente adicionando os dados que veio do formulário na query sem tratá-los antes. Tente, por exemplo, entrar com qualquer palavra no campo apelido e senha, mas no campo apelido, coloque UMA aspa simples (') no final da palavra.

Se quiser saber mais, procure no google por SQL Injection.

Att,

Stoma

Editado por Stoma
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...