Ir para conteúdo

POWERED BY:

Arquivado

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

cristhianofonseca

Passar valor de variável

Recommended Posts

Boa tarde!

 

Estou tendo maior dificuldade para passar o conteúdo de uma variável de uma página PHP para outra.

Seguinte: O usuário loga na página "login.php", esta pág "login.php" através de um form chama a pág "autentica.php", esta pág "autentica.php" dá um require_once("conecta.php") que faz a conexão ao banco, após conectar ao banco a pág "autentica.php" dá um Header("Location: principal.php") que nesta pág "principal.php" ao clicar em uma opção do menu, me joga para a pág "gerar_matricula.php"...aqui está o problema....nesta pág "gerar_matricula.php" precisava resgatar o valor de uma variável lá da pág "autentica.php".

 

Tentei resolver criando uma seção na pág "autentica.php"

PHP [/tr][tr]

session_start();

$_SESSION[usuario] = $usuario;

[/tr]

e na pág gerar_matricula.php tentei resgatar seu conteúdo assim:

PHP [/tr][tr]

switch ($_SESSION[usuario]){

case "001":

$tabela = "matr_001";

break;

case "002":

$tabela = "matr_002";

break;

.....

[/tr]

 

Pois bem, aqui no localhost funciona, mas qdo mando para a LOCAWEB, qdo tento resgatar esse conteúdo na pág "gerar_matricula.php ", a variável vem sem valor.

Não sei se é problema na sessão, não sei!!!

 

Me ajudem se puder...

Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixe-me entender. Pq isso:

PHP [/tr][tr]switch ($_SESSION[usuario]){

case "001":

$tabela = "matr_001";

break;

case "002":

$tabela = "matr_002";

break;

.....

[/tr]

?!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponha que este sisteminha é para uma rede de lojas, e dependendo do usuário, aí neste trecho de código selecionarei a tabela respectiva da loja.

Entende?

 

Veja este arquivo inteiro para melhor entendimento

PHP [/tr][tr]

 

<?

require_once('../verifica.php');

require_once('../conecta.php');

?>

html xxxxxx

<?

session_start();

switch ($_SESSION[usuario]){

case "001":

$tabela = "matr_001";

break;

case "002":

$tabela = "matr_002";

break;

case "003":

$tabela = "matr_003";

break;

case "004":

$tabela = "matr_004";

break;

case "005":

$tabela = "matr_005";

break;

case "006":

$tabela = "matr_006";

break;

case "007":

$tabela = "matr_007";

break;

case "008":

$tabela = "matr_008";

break;

case "009":

$tabela = "matr_009";

break;

case "010":

$tabela = "matr_010";

break;

case "013":

$tabela = "matr_013";

break;

}

//-------------- CRIA MATRICULA ----------------------

$registros = mysql_query("SELECT * FROM $tabela ORDER BY matricula DESC");

$registro = mysql_fetch_array($registros);

 

 

$ultima_matr=$registro["matricula"]; //aqui você faz um loop ou pega o que vem de tua tabela

$ultima_matr++;

 

//montando variavel $seq com 04 digitos

$sequencial=$ultima_matr;

while(strlen($sequencial)<4){

$sequencial="0".$sequencial;

}

 

$nova_matr = "0".$sequencial;

echo "Matrícula Nº: ".$nova_matr;

 

$inserir = "INSERT INTO ".$tabela." (matricula, data) VALUES ('$nova_matr', '".date('Y/m/d - h:i:s')."')" ;

$resultado = mysql_query($inserir);

//----------------- MATRICULA CRIADA E INSERIDA -----------------

 

//echo "<br><br><a href='\logout.php'>Sair do Sistema</a>";

echo "<br><br><input type='button' value='Voltar' name='voltar' onclick='java script:history.back()'>";

?>

 

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

uhnnnn. Ta estranho este esquema de tabela, mas...

 

$_SESSION['login'], está definida, né?!?! Com valores de: '001 à 013', ñ?

 

Inicia session_start(), no começo da pg, ou coloca: 'ob_start();', no começo dela senão vai dar erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu crio a sessão no arquivo AUTENTICA.PHP

PHP [/tr][tr]

<?

//CONECTA COM O BANCO DE DADOS

require_once("conecta.php");

 

//RECEBE OS DADOS DO FORMULÁRIO

$usuario = $_POST[txtUsuario];

$senha = $_POST[txtSenha];

 

//VERIFICA

$sql = mysql_query("SELECT login, senha FROM usuarios WHERE login = '$usuario' AND senha = '$senha'") or die("ERRO NO COMANDO SQL!");

 

//LINHAS AFETADAS PELA CONSULTA

$row = mysql_num_rows($sql);

 

//VERIFICA SE RETORNOU ALGO

if($row == 0){

Header("Location: acesso_negado.html");

}

else {

$usuario = mysql_result($sql, 0, "login");

 

session_start();

 

$_SESSION[usuario] = $usuario;

 

Header("Location: principal.php");

}

?>

[/tr]

 

eu só devo colocar o "session_start();" nesta página onde crio a sessão né? Nas demais que resgatam o valor da sessão não há necessidade, certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não, session_start();, deve ser usado em todas as pg's q criem, acessem ou mexam com sessões, senão ñ funciona.

 

Dá uma lida no br.php.net/session, q explica td.

 

Flwwwwwww

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.