Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oie pessoal, sou novato no php pois sempre mexi com asp, eu criei um script de login e quando a validação do login da correto
ele cria uma sessão e dps transfere por Header o usuario a pagina principal.
Acontece o seguinte, a Session está sendo criada antes do Header mas se eu coloco um echo para imprimir a Session, ele imprime normal, só que quando redireciona com header ele PERDE a sessão e segundo o conceito de sessão em todas as linguagens, sessão so se encerra via programação ou com o fechamento do browse certo?
vou postar o código aqui
<?php
ob_start();
require 'abreconexao.php';
/*SEGURANÇA DO SISTEMA DE LOGIN*/
/* passando o valor do post para váriaveis controladoras que irão ser usadas durante todo o script */
$login = $_POST['txtLogin'];
$senha = $_POST['pswSenha'];
/*Controle contra Injeção SQL*/
/*1° parte. Troca por Replaces*/
str_replace("'","",$login); str_replace("'","",$senha);
str_replace("=","",$login); str_replace("=","",$senha);
str_replace("SELECT","",$login); str_replace("SELECT","",$senha);
str_replace("DELETE","",$login); str_replace("DELETE","",$senha);
str_replace("UPDATE","",$login); str_replace("UPDATE","",$senha);
str_replace("TRUNCADE","",$login); str_replace("TRUNCADE","",$senha);
str_replace("DROP","",$login); str_replace("DROP","",$senha);
str_replace("DISTINCT","",$login); str_replace("DISTINCT","",$senha);
str_replace("Create","",$login); str_replace("Create","",$senha);
str_replace("format()","",$login); str_replace("format()","",$senha);
/*2° parte. Função para se adicionar as querys*/
function anti_sql_injection($string)
{
$string = get_magic_quotes_gpc() ? stripslashes($string) : $string;
$string = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($string) : mysql_escape_string($string);
return $string;
}
/*FIM DA SEGURANÇA DO SISTEMA DE LOGIN*/
?>
<?php
$sql = mysql_query("SELECT usuarios_id, login, senha FROM tbl_usuarios where login='".anti_sql_injection($login)."' and senha='".anti_sql_injection($senha)."'");
$busca_login = mysql_num_rows($sql);
if($busca_login == 1)
{
$_SESSION['nome'] = $login;
header("location: principal.php");
}
else
{
echo "Erro ao Logar";
}
?>
qm poder ajudar eu agradeço xDCarregando comentários...