Ir para conteúdo

Arquivado

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

Luis_Carlos

Problema com formulario de cadastro

Recommended Posts

tenho um formulario de cadastro que grava os dados do usuario em um txt.

esta ocorrendo o sehuinte erro:

 

( ! ) Notice: Undefined index: cidade in C:\wamp\www\cadastra.php on line 4 Call Stack # Time Memory Function Location 1 0.0008 245648 {main}( ) ..\cadastra.php:0
( ! ) Notice: Undefined index: mensagem in C:\wamp\www\cadastra.php on line 5 Call Stack # Time Memory Function Location 1 0.0008 245648 {main}( ) ..\cadastra.php:0

Arquivo gravado com Sucesso !!

 

segue codigo Php:

<?php  
//PEGA OS DADOS ENVIADOS PELO FORMULÁRIO 
$nome = $_POST["nome"]; 
$cidade = $_POST["cidade"]; 
$mensagem = $_POST["mensagem"]; 

//PREPARA O CONTEÚDO A SER GRAVADO 
$conteudo = "$nome,$cidade,$mensagem\r\n"; 

//ARQUIVO TXT 
$arquivo = "arquivo.txt"; 

//TENTA ABRIR O ARQUIVO TXT 
if (!$abrir = fopen($arquivo, "a")) { 
echo "Erro abrindo arquivo ($arquivo)"; 
exit; 
} 

//ESCREVE NO ARQUIVO TXT 
if (!fwrite($abrir, $conteudo)) { 
print "Erro escrevendo no arquivo ($arquivo)"; 
exit; 
} 

echo "Arquivo gravado com Sucesso !!"; 

//FECHA O ARQUIVO  
fclose($abrir);  
?>

Segue html:

<form name="form1" method="post" action="gravar.php"> 
<p><font face="Arial, Helvetica, sans-serif">Nome 
    <input name="nome" type="text" id="nome"> 
</font></p> 
<p><font face="Arial, Helvetica, sans-serif">Cidade / Estado 
    <input name="cidade" type="text" id="cidade"> 
</font></p> 
<p><font face="Arial, Helvetica, sans-serif">Mensagem</font></p> 
<p> 
  <textarea name="mensagem" rows="5" id="mensagem"></textarea> 
</p> 
<p> 
  <input type="submit" name="Submit" value="Enviar"> 
</p> 
</form> 
<p> </p>  

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, por qual motivos você não usa um Banco de Dados decente? :natalbiggrin:

 

2º O arquivo está na mesma pasta que o script?

 

3º Adiciona um IF verificando se foi acionado o botão "Enviar"

Ficando desse jeito:

<?php  
if(isset($_POST["Submit"])){
	//PEGA OS DADOS ENVIADOS PELO FORMULÁRIO 
	$nome = $_POST["nome"]; 
	$cidade = $_POST["cidade"]; 
	$mensagem = $_POST["mensagem"]; 

	//PREPARA O CONTEÚDO A SER GRAVADO 
	$conteudo = "$nome,$cidade,$mensagem\r\n"; 

	//ARQUIVO TXT 
	$arquivo = "arquivo.txt"; 

	//TENTA ABRIR O ARQUIVO TXT 
	if (!$abrir = fopen($arquivo, "a")) { 
	echo "Erro abrindo arquivo ($arquivo)"; 
	exit; 
	} 

	//ESCREVE NO ARQUIVO TXT 
	if (!fwrite($abrir, $conteudo)) { 
	print "Erro escrevendo no arquivo ($arquivo)"; 
	exit; 
	} 

	echo "Arquivo gravado com Sucesso !!"; 

	//FECHA O ARQUIVO  
	fclose($abrir);  
}
?>

Testei seu código aqui, e deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa a indecência ai kkkk mas preciso fazer em txt, especificações....

 

Sim tudo na mesma pasta (script,html,txt)

 

Editei meu post. Veja se deu certo (:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teria que abrir o txt na pasta e ver os dados de quem se cadastrou,qualquer um.

 

A mensagem final tb nao esta sendo exibida.Por isso acerdito que tenha mais algum erro.

echo "Arquivo gravado com Sucesso !!"; 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema pode estar em seu servidor, pois testei seu código de várias maneiras, e tudo funcionou certinho.

 

index.html:

<form name="form1" method="post" action="gravar.php"> 
	<p>
		<font face="Arial, Helvetica, sans-serif">
			Nome 
			<input name="nome" type="text" id="nome"> 
		</font>
	</p> 
	<p>
		<font face="Arial, Helvetica, sans-serif">
			Cidade / Estado 
			<input name="cidade" type="text" id="cidade"> 
		</font>
	</p> 
	<p>
		<font face="Arial, Helvetica, sans-serif">
			Mensagem
		</font>
	</p> 
	<p> 
		<textarea name="mensagem" rows="5" id="mensagem"></textarea> 
	</p> 
	<p> 
		<input type="submit" name="Submit" value="Enviar"> 
	</p> 
</form> 

gravar.php

<?php  
if(isset($_POST["Submit"])){
	//PEGA OS DADOS ENVIADOS PELO FORMULÁRIO 
	$nome = $_POST["nome"]; 
	$cidade = $_POST["cidade"]; 
	$mensagem = $_POST["mensagem"]; 

	//PREPARA O CONTEÚDO A SER GRAVADO 
	$conteudo = "$nome,$cidade,$mensagem\r\n"; 

	//ARQUIVO TXT 
	$arquivo = "arquivo.txt"; 

	//TENTA ABRIR O ARQUIVO TXT 
	if (!$abrir = fopen($arquivo, "a")) { 
	echo "Erro abrindo arquivo ($arquivo)"; 
	exit; 
	} 

	//ESCREVE NO ARQUIVO TXT 
	if (!fwrite($abrir, $conteudo)) { 
	print "Erro escrevendo no arquivo ($arquivo)"; 
	exit; 
	} 

	echo "Arquivo gravado com Sucesso !!"; 

	//FECHA O ARQUIVO  
	fclose($abrir);  
}
?>

e por fim o Arquivo.txt, com os dados:

Leonardo,Cidade,Mensagem
,,
a,b,c
aaaa,baaa,caaa

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.