Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
eai galera, estou precisando de uma ajuda de vocês
trabalho com o seguinte sistema de páginas em php
na parte central do meu site, aonde fica o conteúdo vai
<?php
$pathpage = (empty($_GET['S'])) ? '' : preg_replace("/[^0-9a-z]/i", '', $_GET['S']) . '.php';
if(is_file($pathpage)){
include($pathpage);
} else {
echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=?S=home'>";
}
?>
ai para mudar o conteudo eu chamo os links,
<a href="?S=login">Login</a>
<a href="?S=home">Home</a>
<a href="?S=contato">Contato</a>
minha dúvida é a seguinte, como aplicar um sistema de páginas seguras( login e senha), nesse meu sistema se todas páginas trabalham em cima da index.php
ja tentei aplicar aqui, mas não tive sucesso, ou dava erro de header already sent, ou não acessava as páginas porque ele setava o cookie antes de iniciar a página.
fico no aguardo de alguma dica, obrigado
andrey, estou usando o seguinte código para logar no sistema, mas não está gravando a session
<?php
session_start();
ob_start();
require_once('conection.php');
function limpa($string){
$var = trim($string);
$var = addslashes($var);
$var = mysql_real_escape_string($var);
return $var;
}
if(getenv("REQUEST_METHOD") == "POST"){
$email = isset($_POST["email"]) ? limpa($_POST["email"]) : "";
$senha = isset($_POST["senha"]) ? limpa($_POST["senha"]) : "";
$sql = "select count(*) from site_usuarios where email = '$email' and senha = md5('$senha')";
$re = mysql_query($sql) or die(mysql_error());
if(mysql_result($re, 0)){
$re = mysql_query("select * from site_usuarios where email = '$email' and senha = md5('$senha') LIMIT 1") or die(mysql_error());
while($linha = mysql_fetch_array($re))
{
extract($linha);
if($ativo == 1){
$_SESSION['usuario']['id'] = $id;
$_SESSION['usuario']['nome'] = $nome;
$_SESSION['usuario']['sobrenome'] = $sobrenome;
header("Location: index.php?S=home");
} else {
header("Location: index.php?S=login-errado");
}
}
} else {
header("Location: index.php?S=login-errado");
}
}
?>
eu não consegui ver nenhum erro no código, mas é único lugar que poderia estar com problema.
De onde vem esssas variáveis?
$id;
$nome;
$sobrenome;mysql_query("select * from site_usuarios where email = '$email' and senha = md5('$senha') LIMIT 1")
seleciono essas informações após o login para poder usar no meu sistema,
já testei se as variáveis estão vindo corretamente imprimindo elas e estão vindo corretamente.
está tudo correto com a session, mas mesmo assim não guarda os valores.
desculpa ai pessoal,
era ratiação minha totalmente, já tinha revisado o código umas 15x, mas o problema era no banco hehehehe
ai acordei hoje de cabeça limpa e dei mais uma boa olhada depois da dica do hinom e vi que está tudo ok no código mesmo.
vlw de qualquer forma,
um abraço
>
Prefira utilizar a função Header.
>
erro de header already sent, ou não acessava as páginas porque ele setava o cookie antes de iniciar a página.
Adicione um 'ob_start()' no topo da sua index.