Ir para conteúdo

POWERED BY:

Arquivado

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

dimiguel

Problema com header

Recommended Posts

Tenho o seguinte trecho de um código:

 

PHP [/tr][tr]$_SESSION["cnpj"] = $_POST["cnpj"];

$_SESSION["nome"] = trim($_POST["nome"]);

header("Location: teste.php?step=2");

[/tr]

Acontece que ele grava a sessão perfeitamente, porém ele não esta redirecionando com o header. Já fiz varios testes e até agora nada. Alguém tem uma luz para me dar?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Prezado michelsp,Conheço muito bem a função header (já fomos nos apresentados em outra ocasião) portanto o que está me deixando louco é o fato de simplesmente ela não estar funcionando. Já esgotei todas as minhas opções lógicas e até agora nada, sem chances. O engraçado é que até ontem funcionava, hoje já não funciona mais.Paciência né....Teria alguma coisa a ver com o fato de ele estar numa classe? Creio eu que não! Alguém arrisca?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho o seguinte trecho de um código:

 

PHP [/tr][tr]$_SESSION["cnpj"] = $_POST["cnpj"];

        $_SESSION["nome"] = trim($_POST["nome"]);

        header("Location: teste.php?step=2");

[/tr]

Acontece que ele grava a sessão perfeitamente, porém ele não esta redirecionando com o header. Já fiz varios testes e até agora nada. Alguém tem uma luz para me dar?

Olha velho

 

Nao sei se pode te ajudar mais tipo faz um If antes de redirecionar a pagina pra ve se funciona aqui pelo menos funciona quando trabalho com session e header

 

 

PHP [/tr][tr]

<?

$_SESSION["cnpj"] = $_POST["cnpj"];

$_SESSION["nome"] = trim($_POST["nome"]);

 

if (!empty ($cnpj)) {

header("Location: teste.php?step=2");

}

?>

 

[/tr]

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é guma, aí que entra outro problema pois já tem um IF antes de tudo isso. Veja só a função, que está na classe:

 

PHP [/tr][tr]function verificaCNPJ()

{

$query = "select cnpj from dados_clientes where cnpj = '$_POST[cnpj]'";

$sql = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($sql) > '0')

{

echo "<div align=\"center\">O CNPJ informado já está cadastrado";

}

else

{

$_SESSION["cnpj"] = $_POST["cnpj"];

$_SESSION["nome"] = trim($_POST["nome"]);

header('Location: teste.php?step=2');

}

}

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é guma, aí que entra outro problema pois já tem um IF antes de tudo isso. Veja só a função, que está na classe:

 

PHP [/tr][tr]function verificaCNPJ()

{

$query = "select cnpj from dados_clientes where cnpj = '$_POST[cnpj]'";

$sql = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($sql) > '0')

{

echo "<div align=\"center\">O CNPJ informado já está cadastrado";

}

else

{

$_SESSION["cnpj"] = $_POST["cnpj"];

$_SESSION["nome"] = trim($_POST["nome"]);

header('Location: teste.php?step=2');

}

}

[/tr]
Acho que deve estar dando erro na função talvez ela nao consiga executar o HEADER ou a session esta danco erro faz assim o separa a session da função.

 

Nao sei se vai funcionar nao tive tempo para testar ..

 

PHP [/tr][tr]

 

session_start();

$_SESSION["cnpj"] = $_POST["cnpj"];

$_SESSION["nome"] = trim($_POST["nome"]);

 

 

function verificaCNPJ()

{

$query = "select cnpj from dados_clientes where cnpj = '$cnpj'";

$sql = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($sql) > '0')

{

echo "<div align=\"center\">O CNPJ informado já está cadastrado";

 

}

else

{

header('Location: teste.php?step=2');

}

}

 

[/tr]

 

 

Flw velho

Compartilhar este post


Link para o post
Compartilhar em outros sites

É ieu novamente!Pois é cara, o bixo tá pegando mesmo.Eu já tirei os comandos de sessão, isolei o header (deixei somente ele depois do else) enfim, fiz de tudo o que poderia fazer, mas até agora nada. Isso já está me dando nos nervos e o pior de tudo é que eu tenho até amanhã para entregar isso e está tudo parado por causa dessa joça...Oh, e agora, quem poderá me defender????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara tenho uma solução pra ti nao sei se voce ja tentou mais igual tente ai

 

 

 

PHP [/tr][tr]

 

session_start();

$_SESSION["cnpj"] = $_POST["cnpj"];

$_SESSION["nome"] = trim($_POST["nome"]);

 

//Tira da Função

 

$sql= "select cnpj from dados_clientes where cnpj = '$cnpj'";

$sql_res = mysql_query($sql,$conexao) or die ("Não foi possível executar a consulta");

$linhas = mysql_num_rows($sql_res);

 

if ($linhas!=0) {

{

header ("Location: teste.php?step=2");

}

else

{

echo "<div align=\"center\">O CNPJ informado já está cadastrado";

 

}

 

[/tr]

 

Tipo cara esta é minha ultima chance se nao der nao sei o que esta de errado assim pelo menos fuciona aqui ...

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara tenho uma solução pra ti nao sei se voce ja tentou mais igual tente ai

 

 

 

PHP [/tr][tr]

 

session_start();

$_SESSION["cnpj"] = $_POST["cnpj"];

$_SESSION["nome"] = trim($_POST["nome"]);

 

//Tira da Função

 

$sql= "select cnpj from dados_clientes where cnpj = '$cnpj'";

$sql_res = mysql_query($sql,$conexao) or die ("Não foi possível executar a consulta");

$linhas = mysql_num_rows($sql_res);

 

if ($linhas!=0) {

{

header ("Location: teste.php?step=2");

}

else

{

echo "<div align=\"center\">O CNPJ informado já está cadastrado";

 

}

 

[/tr]

 

Tipo cara esta é minha ultima chance se nao der nao sei o que esta de errado assim pelo menos fuciona aqui ...

 

Flw

guma, nem vou testar pois sei que se fizer assim vai funcionar.

O que tá pegando é que isso tudo está dentro de uma classe (class{}).

Veja um retalho da mesma abaixo e depois a página que manipula isso tudo:

 

PHP [/tr][tr]<?

class NovoCliente

{

var $UF = array("AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS", "MT", "PA", "PB", "PE", "PI", "PR", "RJ", "RN", "RO", "RR", "RS", "SC", "SE", "SP", "TO");

var $i;

function formCNPJ()

{

echo <<<FIM

<script language="JavaScript">

<!--

function valida()

{

frm = document.cadastro;

 

if(frm.cnpj.value=="")

{

alert("Você deve informar o CNPJ");

frm.cnpj.focus();

return false;

}

if(frm.cnpj.value.length<14)

{

alert("O CNPJ informado não é válido");

frm.cnpj.focus();

return false;

}

if(frm.nome.value=="")

{

alert("Informe seu NOME");

frm.nome.focus();

return false;

}

return true;

}

-->

</script>

<table border="1" width="100%">

<form method="post" name="cadastro" onSubmit="return valida();" action="">

<input type="hidden" name="step" value="1">

<tr>

<td colspan="2">Informe os dados abaixo para fazer seu cadastro</td>

</tr>

<tr>

<td>CNPJ</td>

<td><input type="text" name="cnpj" size="14" maxlength="14"></td>

</tr>

<tr>

<td>Nome</td>

<td><input type="text" name="nome"></td>

</tr>

<tr>

<td colspan="2"><div align="center"><input type="submit" value="Enviar"></div></td>

</tr>

</form>

</table>

FIM;

}

 

function verificaCNPJ()

{

$query = "select cnpj from dados_clientes where cnpj = '$_POST[cnpj]'";

$sql = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($sql) > '0')

{

echo "<div align=\"center\">O CNPJ informado já está cadastrado";

}

else

{

$_SESSION["cnpj"] = $_POST["cnpj"];

$_SESSION["nome"] = trim($_POST["nome"]);

header('Location: teste.php?step=2');

}

}

}

[/tr]

 

A Página responsável por tudo isso:

PHP [/tr][tr]<?

session_start();

include("Files/DLLs/config/configura.cfg.php");

include("Files/NovoCliente.class.php");

$a = new NovoCliente();

if(!isset($_POST['cnpj']))

{

$a->formCNPJ();

}

elseif($_POST["step"] == '1')

{

$a->verificaCNPJ();

}

elseif($_GET["step"] == '2')

{

$a->DadosEmpresa();

}

?>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz uma pg com um header simples e ve se funciona...

 

PHP [/tr][tr]<?

header("Location: )'>http://www.imasters.com.br/");

?>

[/tr]

 

Abraço...

Foi um dos primeiros testes que fiz e funciona perfeitamente :)

E até agora nada ...

Sinceramente, não sei mais o que fazer.

 

Se alguém tiver disposto a dar uma força e trocar idéias, anote ai meu MSN: dimiguel@msn.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara, como você está instanciando sua classe...e já verificou se está chamando o metodo que contem o header...pois se estiver fazendo isso é muito estranho que não funcione....a não ser claro que não entre o if que está logo acima do header...Marcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara, como você está instanciando sua classe...e já verificou se está chamando o metodo que contem o header...pois se estiver fazendo isso é muito estranho que não funcione....a não ser claro que não entre o if que  está logo acima do header...Marcio

Instanciação normal, tudo normal (aparentemente) só o header que não funciona.....Inclusive já fiz outros vários testes, como "ecoar" algo no navegador e funciona perfeitamente. Somente o header mesmo que não roda.Ele chega até a gravar a sessão sem problemas.@#$%¨¨&¨%#&$ - isso era prá ser um palavrão ... risos ...Tá complicado....

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito estranho mesmo, pois estive vendo seu código agora parece que está tudo ok, olhando assim por cima claro...deveria funcionar...kara se achar a solução posta ai, fiquei curioso...Marcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito estranho mesmo, pois estive vendo seu código agora parece que está tudo ok, olhando assim por cima claro...deveria funcionar...kara se achar a solução posta ai, fiquei curioso...Marcio

Pois é, eu PRECISO achar a solução, nem que for prá fazer "cerão" hoje ... hahaha

Compartilhar este post


Link para o post
Compartilhar em outros sites

uhnn, no inicio de td coloca:

PHP [/tr][tr]ob_start();[/tr]

 

Primeira pg, depois do <?

 

abraço...

Caraca velho, você merece um beijo na boca, DE LINGUA!!! (da sua esposa/noiva/namorada/ficante sei lá) ... risos ....

 

Agora me diga uma coisa: que raios é esse tal de "ob_start();"??????????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, opa, opa...

Já descobri o que é o ob_start();

O problema agora vai ser descobrir o que meu programa está enviando para o browser antes do header.

 

Galera, obrigado a todos!!!!

 

Ps.: Se você não tem o seu Manual do PHP, baixe-o a partir de http://www.php.net/

É muito útil - é só saber usar!

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.