Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Lopes

Tela de Login, não funciona na nuvem, nem puxar infos. via get

Recommended Posts

Bom dia,

 

Fiz um sistema em php que local funciona perfeitamente, porém quando subi para meu servidor online e começou apresentar alguns problemas, o primeiro é na tela de login que não está funcionando, ele não consegue fazer as comparações não sei o por que, não sei se é por causa do MD5, enfim não consegui diagnosticar o problema. A conexão com o banco está correta, pois fiz alguns testes.

 

Segue minha tela de login:

 

<?php


session_start(); 
require ("includes/database.php");




$btEntrar = isset($_POST["btEntrar"]);


if ($btEntrar =='Entrar'){
// Recupera Login e Senha
$login = isset($_POST["login"]);  
$pass = isset($_POST["pass"]) ? md5(trim($_POST["pass"])) : FALSE;


if((!empty($login)) and (empty($pass)))
{ 
echo "<script> alert('Preencha os campos de Login e Senha!'); </script>"; 
} 
else if((empty($login)) and (!empty($pass)))
{ 
echo "<script> alert('Preencha os campos de Login e Senha!'); </script>";  
} 
else
{ 
echo "<script> alert('Preencha os campos de Login e Senha!'); </script>"; 
}  


$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM usuarios WHERE login = ?";
$q = $pdo->prepare($sql);
$q->bindvalue(1, $_POST['login'], PDO::PARAM_STR); 
$q->execute();


if($q) 
{ 
foreach ($q as $dados) 
{


if(($pass) == ($dados["pass"])) 
{ 
// Grava os dados da sessao e redireciona o usuário 
$_SESSION["usuario"] = stripslashes($dados["login"]); 
$_SESSION["nome_usuario"]    = $dados["nome_usu"]; 
$_SESSION["id_usu"]    = $dados["id_usu"];
$_SESSION["tp_usu"]    = $dados["tp_usu"];
$_SESSION["depto"] = $dados["depto"];


header("Location:index.php");
}
else 
{ 
echo "<script> alert('Usuário ou Senha Inválidos!'); </script>";
} 
}


}
else 
{ 
echo "<script> alert('Usuário ou Senha Inválidos!'); </script>"; 
exit; 
} 


}
?> 
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<link rel="Stylesheet" href="index.css" />
<link rel="stylesheet" href="css/style.css" media="screen" type="text/css" />
<script src="js/bootstrap.min.js"></script>
</head>


<body>
<div class="container">


<div class="span10 offset1">
<form class="form-horizontal menu_css" action="index.php" method="post">
<div id="menu_css1" class="control-group">
<span></span>
<label class="control-label"><h2>Login :</h2></label>
<div class="controls">


<input name="login" type="text"  placeholder="Usuário"> 
</div>
</div>
<div class="control-group">
<div class="controls">
<input name="pass" type="password"  placeholder="Senha"> 
</div>
</div>


 <button type="submit" id="btEntrar" name="btEntrar" value="Entrar" >LOGIN </button>
</form>




</div>
</div>
</body>
</html>

O segundo problema que estou tendo é para trazer o id via get seja para alterar, visualizar, ou deletar ele dá o seguinte erro:

 

Parse error: syntax error, unexpected T_INT_CAST in /home/control/public_html/os/read.php on line 5

 

Meu código está desse jeito:

$id = null;if ( !empty((int)$_GET['id'])) {
$id = $_REQUEST['id'];
}

Alguem pode me ajudar?

 

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkkkkk..

 

Então faz assim.

 

$id = isset($_GET['id']) ? intval ($_GET['id']): 0;

 

Sem problemas com injection :yes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkkk valeu Luis,

 

Cara você sabe o que pode ser meu problema de autenticação, pois local funciona perfeitamente minha tela de login, e no servidor não, pesquisei um pouco e vi alguns casos de problemas com a session, mas eu dou inicio nela na primeira linha de código depois de abrir o php, sabe o que pode ser ?

 

Valeu !! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.