Ir para conteúdo

POWERED BY:

Arquivado

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

ava.rj

Valor da variável não aparece

Recommended Posts

Olá galera !! Tô ficando doido !!!

Não sei porque o valor da variável nome não aparece !!!

 

Script:

 

 

<?

session_start("login");

if(!(session_is_registered("nome"))){

header("Location: index.htm");

}

echo $nome;

echo " 1111111111";

?>

 

"echo $nome;" não aparece

"echo " 111111111";" aparece

 

O q tá errado?

 

A autenticação tá funcionando, porque se eu entrar direto nessa página sem estar logado, ele redireciona para a index.

 

HELP PLEASE !!

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

manual do php

 

Cuidado

Se você quer que seu script funcione independentemente do uso de register_globals, você precisa usar a matriz $_SESSION já que $_SESSION é automaticamente registrada. Se o seu script usa session_register(), ele não irá funcionar em ambientes onde a diretiva de configuração register_globals esteja desabilitada.

 

Cuidado

Isto registra uma variável global. Se você quiser registrar uma variável dntro de uma função, você deve certificar-se de faze-la global, usando global ou usando a matriz $GLOBALS[], ou usando a matriz especial para seções($_SESSION) como mostrado abaixo.

 

Cuidado

Se você esta usando $_SESSION (ou $HTTP_SESSION_VARS), não use session_register(), session_is_registered() e session_unregister().

 

 

por questoes de segurança o register_globals esta desativado por padrao

entao nao ira funcionar session_register(), session_is_registered() e session_unregister() e essas variaveis estao obsoletas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda ... alterei o código, só que agora ele não reconhece o login.

 

login.php

 

// recupera variáveis do formulário

$login = ($_POST["login"]);

$senha = ($_POST["senha"]);

 

include "conecta.php";

 

// verifica no banco

$stgsql="SELECT nome FROM adm WHERE

login='$login' AND senha='$senha'";

$res=mysql_query($stgsql,$conec);

if(mysql_num_rows($res)>0){

 

// REGISTRA A VARIÁVEL NA SESSÃO

$_SESSION["nome"] = $nome;

 

// direciona para a página logado

$link="logado.php";

header("Location:$link");

 

} else {

header("Location:erro.php");

}

 

logado.php

 

session_start();

 

if(!($_SESSION["nome"])){

header("Location: index.htm");

}

echo $_SESSION["nome"];

 

Está redirecionando direto para a index.htm

 

Abraços ....

 

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

// verifica no banco

$stgsql="SELECT nome FROM adm WHERE

login='$login' AND senha='$senha'";

$res=mysql_query($stgsql,$conec);

if(mysql_num_rows($res)>0){

 

// REGISTRA A VARIÁVEL NA SESSÃO

$_SESSION["nome"] = $nome;

 

// direciona para a página logado

$link="logado.php";

header("Location:$link");

 

} else {

header("Location:erro.php");

}

Caro amigo em vez de colocar a var $nome coloque $login

tente seu codigo assim...

 

// verifica no banco

$stgsql="SELECT nome FROM adm WHERE

login='$login' AND senha='$senha'";

$res=mysql_query($stgsql,$conec);

if(mysql_num_rows($res)>0){

 

// REGISTRA A VARIÁVEL NA SESSÃO

$_SESSION["nome"] = $login;

 

// direciona para a página logado

$link="logado.php";

header("Location:$link");

 

} else {

header("Location:erro.php");

}

tente assim caso nao registre a sessao coloque para imprimir a Sessao

 

PHP [/tr][tr]echo $_SESSION["nome"];[/tr]

 

ou edite no bloco de notas o arquivo que grava a sessao... pra ver se esta sendo armazenada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só que se você olhar o SELECT, verá que é o nome que eu trago do banco. O login e a senha servem apenas como condição.[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites
$res=mysql_query("SELECT nome FROM adm WHERE login = '$login' and senha = '$senha'");

 

$nome = mysql_result($res, 0, "nome");

if(mysql_num_rows($res)>0){

 

// REGISTRA A VARIÁVEL NA SESSÃO

$_SESSION["nome"] = $nome;

tenta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua indo para a index como se não tivesse registrado o login

 

logado.php

 

session_start();if(!($_SESSION["nome"])){   header("Location: index.htm");}echo $_SESSION["nome"];Está redirecionando direto para a index.htm

já tô ficando doido ... unf !

 

Antes ele só não imprimia o valor da variável, mas reconhecia o login, mas agora não reconhece mais.

 

[]s

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.