Formulario PHP

PHP

20/11/2012

Gente, eh a primeira vez q eu trabalho usando o PHP,
to tendo alguns problemas e gostaria de saber se alguem ai pode me ajudar!

O endereco do site eh [url]www.icylips.co.uk[/url]
No menu membership eu criei um formulario.
Mas agora eu n sei fazer o principal, que eh enviar esses dados para algum e-mail.
Na verdade, o ideal seria se eu recebesse esses dados diretamente em um banco de dados
isso eh possivel?

Muito obrigada
Raquel
Raquel Milreu

Raquel Milreu

Curtidas 0

Respostas

Raquel Milreu

Raquel Milreu

20/11/2012

o codigo que eu utilizei eh esse aqui, mas nao sei tambem se esta correto na parte
da inclusao da data de nascimento!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Envio email</title>
</head>

<body>

<?php



$conteudo = "

$fullname: $_POST[fullname];
$email: $_POST[email];
$number: $_POST[Number];
$date of Birth: $_POST[dia] $_POST[mes] $_POST[ano];
$gender: $_POST[man] $_POST[woman];

";

$env = mail("membership@icylips.co.uk",$_POST['assunto'],$conteudo,"from: $_POST[email]");

if ($env==1) {
	echo "Thank you.";
}else{
	echo "Failed. Please try again.";
}

?>

</body>
</html>
GOSTEI 0
Eduardo Oliveira

Eduardo Oliveira

20/11/2012

Está dando algum erro ???? Você pode tanto enviar para um email, como também pode enviar diretamente para um bd.

Quanto ao código que foi postado, tem como melhora-lo, por exemplo:

você está fazendo isso:

$conteudo = "
$fullname: $_POST[fullname];
$email: $_POST[email];
$number: $_POST[Number];
$date of Birth: $_POST[dia] $_POST[mes] $_POST[ano];
$gender: $_POST[man] $_POST[woman];
";


Pelo que entendi, esse é o conteúdo do EMAIL em si correto? Mas observe que ao criar a variavel $conteudo você está atribuindo a ela como valor, outras variáveis com outros valores, isso não irá funcionar corretamente, o ideal seria você resgatar seus valores vindos do formulário atribui-los a uma variável, e trabalhar com elas, ficando assim:


$fullname = $_POST['fullname'];
$email = $_POST['email'];
$number = $_POST['Number'];
$date =   $_POST['dia'].$_POST['mes'].$_POST['ano'];
$gender = $_POST['sexo']; // o seu radio buton está errado, ele deve conter o mesmo name no caso seria sexo, e no value de cada um voce especifica M pra masculino, e F pra feminino, ou ainda usar a palavra intera masculino ou feminino.

$conteudo =  "Nome Completo : {$fullname}";
$conteudo .= "Email : {$email}";
$conteudo .= "Numero :{$number}";
$conteudo .= "Data :  {$date}";
$conteudo .= "Sexo :  {$gender}";



E por fim if($env == 1) ??? deixe dessa forma :


if($env)

GOSTEI 0
Alisson Santos

Alisson Santos

20/11/2012

Amigo poderia postar o erro que está aparecendo??
GOSTEI 0
Raquel Milreu

Raquel Milreu

20/11/2012

quanto ao erro, podem testar no proprio site, quando clica em submit aparece o erro!!

[url]http://www.icylips.co.uk/popupmembership/membership.htm[/url]
GOSTEI 0
Raquel Milreu

Raquel Milreu

20/11/2012

Ola Eduardo, obrigada pela sua ajuda,
mas o codigo esta dando erro!

<?php



$fullname: $_POST['fullname'];
$email: $_POST['email'];
$number: $_POST['Number'];
$date: $_POST['dia'] $_POST['mes'] $_POST['ano'];
$gender: $_POST['gender'];

$conteudo .= "Full Name : {$fullname}";
$conteudo .= "Email : {$email}";
$conteudo .= "Number : {$number}";
$conteudo .= "Date : {$date}";
$conteudo .= "Gender : {$gender}";
";

$env = mail("membership@icylips.co.uk",$_POST['assunto'],$conteudo,"from: $_POST[email]");

if ($env) {
echo "Thank you.";
}else{
echo "Failed. Please try again.";
}

?>


ainda sim, quando vc preenche o formulario no site aparece uma outra pagina,

isso eh erro nao?

ou eh falta de uma pagina especifica pra quando se preenche o formulario?


<?php



$fullname: $_POST['fullname'];
$email: $_POST['email'];
$number: $_POST['Number'];
$date: $_POST['dia'] $_POST['mes'] $_POST['ano'];
$gender: $_POST['gender'];

$conteudo .= "Full Name : {$fullname}";
$conteudo .= "Email : {$email}";
$conteudo .= "Number : {$number}";
$conteudo .= "Date : {$date}";
$conteudo .= "Gender : {$gender}";
";

$env = mail("membership@icylips.co.uk",$_POST['assunto'],$conteudo,"from: $_POST[email]");

if ($env) {
	echo "Thank you.";
}else{
	echo "Failed. Please try again.";
}

?>
GOSTEI 0
Eduardo Oliveira

Eduardo Oliveira

20/11/2012

Só uma pergunta antes de continuarmos, porque trocou o sinal de igual "=" por dois pontos ":" no momento de atribuir $_POST a uma variável?

Você pode processar as informações na mesma página que você tem seu formulário, para tanto basta colocar um sinal de cerquilha "#" no action do seu formulário, e essa página tem que ter a extensão .php
GOSTEI 0
Raquel Milreu

Raquel Milreu

20/11/2012

Nossa, nao sei o pq, viajei.. ja coloquei o sinal de igual...

<?php



$fullname= $_POST['fullname'];
$email= $_POST['email'];
$number= $_POST['Number'];
$date= $_POST['dia'] $_POST['mes'] $_POST['ano'];
$gender= $_POST['gender'];

$conteudo .= "Full Name : {$fullname}";
$conteudo .= "Email : {$email}";
$conteudo .= "Number : {$number}";
$conteudo .= "Date : {$date}";
$conteudo .= "Gender : {$gender}";
";

$env = mail("membership@icylips.co.uk",$_POST['assunto'],$conteudo,"from: $_POST[email]");

if ($env) {
	echo "Thank you.";
}else{
	echo "Failed. Please try again.";
}

?>
GOSTEI 0
Eduardo Oliveira

Eduardo Oliveira

20/11/2012

Resolveu?
GOSTEI 0
POSTAR