Jump to content


Photo

Formulario Em Php Nao Funciona


  • Faça o login para participar
10 replies to this topic

#1 Keanu_Reeves

Keanu_Reeves

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 12/03/2008, 13:32

Olá pessoal!
TD certo??


Eu sou completamente leigo nesse tipo de coisa...
Já pesquisei antes sobre como fazer formulário em PHP, li vários tutoriais e até agora não consegui fazer um funcionar...
Acho q estou fazendo alguma coisa errada, sei lá...

Se vocês puderem me ajudar.
Estou usando DW.

Esse é o código da página q tem o form:
[codebox]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR...ml4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title> Formulário de Contato </title>
</head>
<body>
<form name="form1" method="post" action="">
<p>Nome</p>
<p>
<input name="usuario" type="text" id="usuario">
</p>
</form>
<form name="form2" method="post" action="">
<p>Email</p>
<p>
<input name="email" type="text" id="email">
</p>
</form>
<form name="form3" method="post" action="">
<input name="opiniao" type="radio" value="sim" checked>
Sim
<input name="opiniao" type="radio" value="não">
Não
</form>
<form name="form4" method="post" action="">
<p>Mensagem: </p>
<p>
<textarea name="mensagem" cols="60" rows="15" id="mensagem"></textarea>
</p>
</form>
<form name="form5" method="post" action="">
<input name="Enviar" type="submit" id="Enviar" value="Enviar">
</form>
<p> </p>
</body>
</html>


E tem a página em PHP, q tem esse código:


/* Início do Script PHP para Formulário de Contato */
<?php
$msg="Nome do usuário: $usuario\n";
$msg.="Email do usuário: $email\n";
$msg.="Opinião do usuário: $opiniao\n";
$msg.="Mensagem do usuário: $mensagem\n\n";

$cabecalho = "Para: Usuário";
$cabecalho = "Cc: $email ;"

mail("meuemail@endereço.com" , "Formulário de Contato" , $msg , $cabecalho") ;

echo"<h1 align=center>Muito obrigado, $usuario</h1>";
echo"<p align=center>Agradecemos sua Opinião.</p>";
?>
[/codebox]
É isso...
Por favor, deem uma olhada e me falem q q tem de errado? :wacko:

PS: Estou usando um servidor com suporte PHP. www.tripod.lycos.co.uk

Desde já agradeço a vcs!

Flw!

Edição feita por: savior, 15/03/2008, 13:29.
Utilize tags [codebox] para trechos longos de código.


#2 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 12/03/2008, 15:34

Cara, vc soh pode tah brincando?!? Pq o DW fez 5 forms diferentes? Se tu quiser recuperar as informaçoes direito, tem q colocar num form soh. Depois, esse negocio de puxar $usuario direto eh coisa do passado, pois utiliza o Registers_Globals ON, o que eh n eh atual. Tenta recuperar usando $_POST['nomedocampo'];

/*DarkSign*/
Não sabe por onde começar? Que tal pelas Regras ?

#3 Keanu_Reeves

Keanu_Reeves

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 12/03/2008, 22:05

Cara... é mesmo.... ahuaha
Q zonaa...

Mas olha, fiz o q vc falou e ainda não deu certo...

Q q tem de errado dessa vez?

Vlw!!

[codebox]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR...ml4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title> Formulário de Contato </title>
</head>
<body>
<form name="form1" method="post" action="">
<p>Nome:
<input name="usuario" type="text" id="usuario">
</p>
<p>E-mail:
<input name="email" type="text" id="email">
</p>
<p>Voc&ecirc; gostou do site? </p>
<p>
Sim
<input name="opiniao" type="radio" value="sim" checked>
N&atilde;o
<input name="opiniao" type="radio" value="n&atilde;o">
</p>
<p>Mensagem:</p>
<p>
<textarea name="mensagem" cols="60" rows="10" id="mensagem"></textarea>
</p>
<p>
<input name="enviar" type="submit" id="enviar" value="enviar">
</p>
</form>
</body>
</html>


PHP agora:

/* Início do Script PHP para Formulário de Contato */
<?php
$msg = "Nome do usuário: $_POST['usuario'];
$msg. = "Email do usuário: $_POST['email'];
$msg. = "Opinião do usuário: $_POST['opiniao'];
$msg. = "Mensagem do usuário: $_POST['mensagem'];

$cabecalho = "Para: Profº Sérgio ";
$cabecalho = "Cc: $email ;"

mail("meuemail@endereço.com" , "Formulário de Contato" , $msg , $cabecalho") ;

echo"<h1 align=center>Muito obrigado, $usuario</h1>";
echo"<p align=center>Agradecemos sua Opinião.</p>";
?>
[/codebox]

Edição feita por: savior, 15/03/2008, 13:31.
Utilize tags [codebox] para trechos longos de código.


#4 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 13/03/2008, 00:41

uaehueaheuaeh

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

Tu esqueceu te setar o action

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

/*DarkSign*/
Não sabe por onde começar? Que tal pelas Regras ?

#5 Keanu_Reeves

Keanu_Reeves

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 13/03/2008, 01:12

Véi...
Vlw! Eu relamente nao sei nada de PHP... hehe

Mas olha só...
Tá dando esse erro agora.. Eu consegui resolver outros q deram, mas esse eu não achei o problema...

Parse error: syntax error, unexpected T_VARIABLE in /data/members/free/tripod/uk/t/h/i/thimr/htdocs/form.php on line 3

Código:
[codebox]
/* Início do Script PHP para Formulário de Contato */
<?php
$msg = "Nome do usuário:" $_POST['usuario'];
$msg. = "Email do usuário:" $_POST['email'];
$msg. = "Opinião do usuário:" $_POST['opiniao'];
$msg. = "Mensagem do usuário:" $_POST['mensagem'];

$cabecalho = "Para: Profº Sérgio ";
$cabecalho = "Cc: $email ;"

mail("meuemail@endereçol.com" , "Formulário de Contato" , $msg , $cabecalho") ;

echo"<h1 align=center>Muito obrigado, $usuario</h1>";
echo"<p align=center>Agradecemos sua Opinião.</p>";
?>
[/codebox]

Edição feita por: savior, 15/03/2008, 13:32.
u.u


#6 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 13/03/2008, 02:31

kara, coloca . pra concatenar (juntar) as strings

<?php
$msg = "Nome do usuário:" . $_POST['usuario'];
$msg. = "Email do usuário:" . $_POST['email'];
$msg. = "Opinião do usuário:" . $_POST['opiniao'];
$msg. = "Mensagem do usuário:" . $_POST['mensagem'];

O erro é que ele n espera uma variavel (no caso, o $_POST['usuario']) na linha 3. Pq tu esqueceu de juntar a var com o . (ponto) :D

/*DarkSign*/
Não sabe por onde começar? Que tal pelas Regras ?

#7 Adrielso P. Teodoro

Adrielso P. Teodoro

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Campinas/SP
  • Interesses:PHP, Hardware, HTML, CSS e XML

Posted 13/03/2008, 12:15

Olá amigo!!

Peguei seu código e editei de forma que funcione perfeitamente, só fiz uma alteração de vez enviar o formulário para outra página por exmplo: envia.php, envei a página para o mesmo local usando a váriavel $PHP_SELF, assim em uma única página já recolho as informações e envio o formulário. Ok??


Até +++!! Flw!!!

Se tiver dúvidas poste ela no fórum!!


Adrielso


[codebox]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR...ml4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title> Formulário de Contato </title>
</head>
<body>
<form name="form1" method="post" action="<? echo "$PHP_SELF"; ?>"> <!--Aqui no action você coloca a página na qual está seu script PHP ou $PHP_SELF para redirecionar para mesma página. -->
<input type="hidden" name="operacao" value="envia">
<p>Nome:
<input name="usuario" type="text" id="usuario">
</p>
<p>E-mail:
<input name="email" type="text" id="email">
</p>
<p>Você gostou do site? </p>
<p>
Sim
<input name="opiniao" type="radio" value="sim" checked>
Não
<input name="opiniao" type="radio" value="não">
</p>
<p>Mensagem:</p>
<p>
<textarea name="mensagem" cols="60" rows="10" id="mensagem"></textarea>
</p>
<p>
<input name="enviar" type="submit" id="enviar" value="enviar">
</p>
</form>

<?
if ($operacao=="envia") {

$msg = "Nome do usuário:" . $_POST['usuario'];
$msg.= "Email do usuário:" . $_POST['email'];
$msg.= "Opinião do usuário:" . $_POST['opniao'];
$msg.= "Mensagem do usuário:" . $_POST['usuario'];

$cabecalho = "Para: Profº Sérgio ";
$cabecalho .= "Cc: $email ";

mail("seuemail@endereco.com" , "Formulário de Contato" , $msg , $cabecalho);


echo "<h1>Muito obrigado, $usuario</h1>";
echo "<p align=center>Agradecemos sua Opinião.</p>";
}
?>
</body>
</html>[/codebox]

Edição feita por: savior, 15/03/2008, 13:32.

Adrielso Pinto Teodoro
Suporte Técnico

-- Sistema Operacional: Windows XP - Service Pack 3
-- Navegador: Mozilla Firefox 3.0

#8 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 13/03/2008, 12:26

hehe, depois de copiar o codigo, altere isso

$msg.= "Opinião do usuário:" . $_POST['opniao'];

pra isso

$msg.= "Opinião do usuário:" . $_POST['opiniao'];

Ou tu vai ficar doido que devia tah funcionando xD.

/*DarkSign*/
Não sabe por onde começar? Que tal pelas Regras ?

#9 Keanu_Reeves

Keanu_Reeves

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 13/03/2008, 20:22

Pessoal!

Deu certo!!! :lol:

Até q enfim né?! uheuhe

(Fiz com 2 arquivos mesmo... Não consegui fazer o do Adrielson... Acho q fiz alguma coisa errada... =S)

Só q agora to com outro problema q até então não sabia q existia...

O script tá enviando os dados do form para o email que a pessoa cadastra e não para o email q que quero receber os dados do form, vcs entenderam?

Eu queria q a pessoa cadastrasse e somente eu tivesse acesso aos dados, visto que todos eles iriam para meu email... (seria legal um banco de dados, mas estou mto aquém disso ainda... hehe) Queria q a pessoa recebesse um email somente falando que os dados foram recebidos....


Help denovo!! hehe

Vlw!

[codebox]
/* Início do Script PHP para Formulário de Contato */
<?php
$msg = "Nome do usuário:" . $_POST['usuario'];
$msg.= "Email do usuário:" . $_POST['email'];
$msg.= "Opinião do usuário:" . $_POST['opiniao'];
$msg.= "Mensagem do usuário:" . $_POST['mensagem'];

$cabecalho = "Para: Profº Sérgio ";
$cabecalho = "Cc: $email ";

mail("meuemail@endereço" , "Formulário de Contato" , $msg , $cabecalho);

echo"<h1 align=center>Muito obrigado, $usuario</h1>";
echo"<p align=center>Agradecemos sua Opinião.</p>";
?>
[/codebox]

Edição feita por: savior, 15/03/2008, 13:32.


#10 JulioLobo

JulioLobo

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 15/03/2008, 04:12

Se eu fosse utilizar esse formulário iria querer que enviasse para julio.lobo@gmail.com então colocaria o arquivo abaixo assim:
[codebox]
/* Início do Script PHP para Formulário de Contato */
<?php
$paraoemail = "julio.lobo@gmail.com"; //Coloque aqui para qual email você quer que seja enviado
$msg = "Nome do usuário:" . $_POST['usuario'];
$msg.= "Email do usuário:" . $_POST['email'];
$msg.= "Opinião do usuário:" . $_POST['opiniao'];
$msg.= "Mensagem do usuário:" . $_POST['mensagem'];

$cabecalho = "Para: Profº Sérgio ";
$cabecalho = "Cc: $email ";

mail($paraoemail , "Formulário de Contato" , $msg , $cabecalho);

echo"<h1 align=center>Muito obrigado, $usuario</h1>";
echo"<p align=center>Agradecemos sua Opinião.</p>";
?>
[/codebox]

Edição feita por: savior, 15/03/2008, 13:32.
¬.¬


#11 Keanu_Reeves

Keanu_Reeves

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 16/03/2008, 23:03

Pô galera!

Deu td certinho!!
To com a página legal agora!!


Valew ae!

Abração a todos! B)




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq