Ir para conteúdo

POWERED BY:

Arquivado

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

Danilo Nicoletti

[Resolvido] Erro no header ao cadastrar

Recommended Posts

<form action="" method="post" name="form1">
<div id="texto_nome"> Nome Completo.<br><input name="nome" type="text" id="nome" ></div>
<div id="texto_idade"> Idade.<br><input name="idade" type="text" id="idade"></div>
<div id="texto_nasc"> Data de Nascimento.<br>
      <input name="dia" type="text" id="dia">
      <span id="texto_na">de</span>
      <input name="mes" type="text" id="mes">
      <span id="texto_na">de</span>
      <input name="ano" type="text" id="ano">
</div>
<img src="img/linha3.png" align="right" id="linha">
<div id="texto_email"> E-mail.<br><input name="email" type="text" id="email"></div>
<div id="texto_cpf"> CPF.<br><input name="cpf" type="text" id="cpf"></div>
<div id="texto_cpf2"> CPF do Responsável.<br><input name="cpfres" type="text" id="cpf2"></div>
<img src="img/linha3.png" align="right" id="linha2">
<div id="texto_obs"> Observações: <textarea name="obs" cols="60" rows="3" id="area"></textarea></div><br>
<div id="check1">
 <input name="check" type="checkbox" value="sim">  Li o Termo de Uso e Estou de Acordo.    <br>
 <input name="check[]" type="checkbox" value="">  Permitir divulgar dados de contato.
</div>
<input name="cadastra" type="submit" id="cadastra" value="a">

</form>

 

Tenho esse form para cadastro

 

e esse é o final do meu codigo php

 

$check = $_POST['check'];
if(empty($check)){
	echo '<script>alert("Precisa Aceitar os Termos")</script>';
	echo '<script>history.back()</script>';
	exit;
}
if($check = 'sim'){ 
header('Location: index.php');
}

}

 

tem algo errado com o header ... pois ele nao muda a pagina...

alguem pode me ajudar ... no Aguardo Obrigado !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola tenta dar um ob_start(); na primeira linha antes do codigo html

ou use <script>window.location.href='index.php'</script>

Cabeçalhos só podem ser enviados antes de qualquer saída html.

 

Em primeiro lugar, você precisa saber o que significa esta sigla: OB. Deixando de lado o fato de que muita gente pensou besteira, OB significa Output Buffer, que nada mais é do que o Buffer de saída.

 

Buffer á uma região da memória onde os dados ficam armazenados temporariamente até que sejam despejados para a aplicação. Nesse caso, o buffer seria a saída pro navegador.

 

 

Você já deve ter se deparado com algum erro que dizia Headers already sent. Isso se dá porque já foi enviada alguma saída para o navegador. Cabeçalhos só podem ser enviados antes de qualquer saída html.

 

Um ob_start() irá pegar todos os dados de saída e guardar em buffer. Os dados só serão enviados ao navegador no momento em que você encerrar o buffer.

 

Existem três meios de encerrar o flush:

 

1. ob_end_flush(): Envia o conteúdo do buffer para a saída, esvazia-o e encerra o buffering;

2. ob_flush(): Envia o valor do buffer para o navegador e esvazia-o. Todas as entradas a seguir continuam indo para o buffer;

3. ob_end_clean(): Esvazia o buffer e encerra-o. Nenhuma saída é enviada.

 

Adicionalmente você pode utilizar a função ob_clean(), que apenas limpa o buffer.

 

Outra função que é muito importante é a ob_get_contents(), que irá retornar o conteúdo do buffer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem algo errado com o header ... pois ele nao muda a pagina...

 

Danilo,

 

Header => Cabeçalho

 

Da mesma forma que você não coloca o cabeçalho de uma carta no rodapé dela você não deve enviar um cabeçalho HTTP depois de enviar qualquer tipo de informação.

 

No seu código, você está enviando dados para o navegador antes do header e isso realmente não vai funcionar. Corrija seu código para que o cabeçalho HTTP fique antes de qualquer saída, antes de tudo mesmo que seu código passará a funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera Valeu pela Ajuda

 

João Batista Neto valeu pela dica deu pra entender bem

 

bom Resolvi da seguinte forma .. criei um arquivo "enviar.php" no Form

pq estava direto na pagina

 

 <form action="" method="post" name="form1"> 

 

Ai Copiei todo o conteudo coloquei na pagina enviar deixei o form assim

 

 <form action="enviar.php" method="post" name="form1"> 

 

e Funciono ...

 

Valeu Galera

 

=D

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.