• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Nuno

Problemas com formulario

10 mensagens neste tópico

Boas people!

Bem fiz um formulario em php e envia perfeitamente tal como queria mas ao passa-lo para dentro da páina que tou a desenvolver deixa de funcionar não dando qulquer tipo de erro..O.O

Aqui fica:

se estiver apenas o formulario forulario funciona:

http://www.boxcolor.pt/boxcolor3/email2.php

kando passo pa dentro da página deixa de funcionar:

http://www.boxcolor.pt/index2.php?pagina=sugestoes

Alguem sabe porque será?

aqui fika o código que uso.

<?
if (!$_POST){
?>

<form name="email"  method=post action="<? echo $PHP_SELF;?>" >
	<table width="500" border="0" CELLPADDING=0 CELLSPACING=0>

		<tr>
				<td>Nome *</td>
	</tr>
	<tr>
		<td>
			<input type="text" name="nome" size="29" style="width:240px" id=01 maxlength="64">
		</td>
	</tr>

	<tr>
		<td><br>Apelido *</td>
	</tr>
	<tr>
		<td>
			<input type="text" name="apelido" size=29 style="width:240px" id=02 maxlength="64">
		</td>
	</tr>

	<tr>
		<td><br>Email *</td>
	</tr>

	<tr>
		<td>
			<input type="text" name="email" size=29 style="width:240px" id=06 maxlength="200">
		</td>
	</tr>    

	<tr>
		<td><br>Sugestões *</td>
	</tr>

	<tr>
		<td>
			<textarea rows="5" name="sugestoes" cols=40 style="font-family: Arial; font-size: 10pt"></textarea></font></td>
		</td>
	</tr>   

    	<tr> 
		<td> 
			<br> 
			<input type=button VALUE="Enviar" onClick="ValidarDados()" id="Enviar" name="Enviar">   <input type="RESET" VALUE="Limpar">
		</td>
    	</tr>
	</Table>
</Form>

<?
}else{
   //Estou a receber o formulário, componho o corpo
   $texto = "Formulário enviado\n";
   $texto .= "Nome: " . $_POST["nome"] . "\n";
   $texto .= "Apelido: " . $_POST["apelido"] . "\n";
   $texto .= "Email: " . $_POST["email"] . "\n";
   $texto .= "Sugestoes: " . $_POST["sugestoes"] . "\n";

   //envio o correio...
   mail("boxcolor@boxcolor.pt","sugestão",$texto);

   //agradeço pelo envio
   echo "Obrigado por preencher o formulário. Foi enviado corretamente.";
}
?> 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta validar o teu XHTML.

http://validator.w3.org/

bem eu não percebo muito disso da validação mas se reparares 95% dos erros que dá são ao abrir e fechar instruçoes e até erros em comentários o que é estranho não?

acho que se tentar tirar esses erros nem seker vai executar as instruções nao?  o.O

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nuno, o código que colocaste lá acima, é o código desta página: http://www.boxcolor.pt/index2.php?pagina=sugestoes

que queres colocar dentro desta: http://www.boxcolor.pt/boxcolor3/email2.php , certo?

E já agora, no teu formulário do index2.php?pagina?=sugestoes, no formulário está:

<form name="email"  method=post action="/index2.php" >

A acção do php (enviar email) está no index2.php?

Porque estás a chamar essa acção.

Sugiro que cries um ficheiro php à parte (por exemplo) com o código que envia o email (envia.php) e depois no formulário chamas esse ficheiro.

Ou então, faz como tens no código postado acima, no action mete <? echo $PHP_SELF;?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nuno, o código que colocaste lá acima, é o código desta página: http://www.boxcolor.pt/index2.php?pagina=sugestoes

que queres colocar dentro desta: http://www.boxcolor.pt/boxcolor3/email2.php , certo?

Não... o qu eu quis dizer foi que em http://www.boxcolor.pt/boxcolor3/email2.php o email está a funcionar correctamente.. ao passar este código de email para dentro da minha página ou seja para http://www.boxcolor.pt/index2.php?pagina=sugestoes deixa de funcionar..

E já agora, no teu formulário do index2.php?pagina?=sugestoes, no formulário está:

<form name="email"  method=post action="/index2.php" >

A acção do php (enviar email) está no index2.php?

Porque estás a chamar essa acção.

Sugiro que cries um ficheiro php à parte (por exemplo) com o código que envia o email (envia.php) e depois no formulário chamas esse ficheiro.

Ou então, faz como tens no código postado acima, no action mete <? echo $PHP_SELF;?>

pois tens razão mas curiosamente o action está a alterar automaticamente e a meter action="/index2.php pois no código que fiz em está action="/index2.php... estranho...o.O

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não... o qu eu quis dizer foi que em http://www.boxcolor.pt/boxcolor3/email2.php o email está a funcionar correctamente.. ao passar este código de email para dentro da minha página ou seja para http://www.boxcolor.pt/index2.php?pagina=sugestoes deixa de funcionar..

pois tens razão mas curiosamente o action está a alterar automaticamente e a meter action="/index2.php pois no código que fiz em está action="/index2.php... estranho...o.O

Isso porque a página é index2.php, e ao meteres o <? echo $PHP_SELF;?>  ele mete o action da página "actual", ou seja, index2.php

Mete como action o nome da página sugestões ou cria um ficheiro à parte como disse, por exemplo envia.php, e o action chama esse ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não tenho o protocolo HTTP na ponta da língua, mas ou muito me engano ou um pedido não pode ter 'post data' e 'get data' ao mesmo tempo. Ou é um POST ou um GET, uma coisa ou outra.

Dito isto... submeteres formulários com um POST para páginas que tenham urls do tipo http://example.com/foo.php&xpto=xptu não me parece que funcione.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não tenho o protocolo HTTP na ponta da língua, mas ou muito me engano ou um pedido não pode ter 'post data' e 'get data' ao mesmo tempo. Ou é um POST ou um GET, uma coisa ou outra.

Dito isto... submeteres formulários com um POST para páginas que tenham urls do tipo http://example.com/foo.php&xpto=xptu não me parece que funcione.

pois já és a sengunda pessoa que me diz que pode ser disso..

partindo desse principio que sugestão dás para que eu possa enviar os emails??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso porque a página é index2.php, e ao meteres o <? echo $PHP_SELF;?>  ele mete o action da página "actual", ou seja, index2.php

Mete como action o nome da página sugestões ou cria um ficheiro à parte como disse, por exemplo envia.php, e o action chama esse ficheiro.

Ok... Ja rulaaa

brigadao... :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora