saulus 0 Denunciar post Postado Setembro 2, 2009 Bom Galera é o seguinte, com base em alguns tutoriais que encontrei pela internet em fiz um formulário de contato em PHP, fiz de acordo com que ensinava, hospedei no servidor, só que quando preenches o campos e envia o formulario eu recebo um e-mail com remetente desconhecido e todos os campos em branco, aparece apenas Nome, e-mail... más o que a pessoa digita não aparece nada. Pesquisando para saber se sobre esse problema vi que outras pessoas tinha o mesmo, muitos diziam que era apenas deixar os register_globals on, no meu caso o meu esta em off. Eu segui um tutorial na internet, salve no servidor um aquivos com o nome php.ini e dentro o texto register_globals = on, mas mesmo assim não resolveu meu problema, continuo não recebendo o que as pessoas digitam, tudo em branco. Quando eu hospedei meu site a empresa responsável me mandou um e-mail com as informações de minha hospedagem e com a seguinte mensagem: 6. FormMail para formulários O endereço correto para o seu FormMail é http://www.criarstudio.com.br/cgi-bin/FormMail.cgi, Veja o exemplo abaixo: A. Ação do Formulário: <form method="post" action="http://www.criarstudio.com.br/cgi-bin/FormMail.cgi"> B. Quem recebe o Formulário: <input name="recipient" type="hidden" value="seuemail@criarstudio.com.br"> C. Assunto do Formulário: <input name="subject" type="hidden" value="Nome do Formulário"> D. Página do seu site para qual será redirecionado após o envio: <input name="redirect" type="hidden" value="http://www.criarstudio.com.br/redirecionamento.html"> E. Ordem de envio dos campos do seu formulário: <input name="sort" type="hidden" value="order:Campo1,Campo2,Campo3"> Obs.: Você não pode utilizar no value do recipient e-mails externos, deve apenas utilizar e-mails criados no CPANEL. Então eu gostaria de saber o que eu faça para resolver esse meu problema, para que os e-mails recebidos não apareçam em branco?? Abaixo o form.php que usei. <?php $date = date("d/m/Y h:i"); // ****** ATENÇÃO ******** // ABAIXO ESTÁ A CONFIGURAÇÃO DO SEU FORMULÁRIO. // ****** ATENÇÃO ******** //CABEÇALHO - ONFIGURAÇÕES SOBRE SEUS DADOS E SEU WEBSITE $nome_do_site="CriarStudio"; $email_para_onde_vai_a_mensagem = "atendimento@criarstudio.com.br"; $nome_de_quem_recebe_a_mensagem = "Saulo Lago"; $exibir_apos_enviar='enviado.php'; //MAIS - CONFIGURAÇOES DA MENSAGEM ORIGINAL $cabecalho_da_mensagem_original="From: $name <$email>\n"; $assunto_da_mensagem_original="Contato CriarStudio"; // FORMA COMO RECEBERÁ O E-MAIL (FORMULÁRIO) // ******** OBS: SE FOR ADICIONAR NOVOS CAMPOS, ADICIONE OS CAMPOS NA VARIÁVEL ABAIXO ************* $configuracao_da_mensagem_original=" ENVIADO POR:\n Nome: $nome\n Email: $email\n Telefone: $telefone\n Cidade: $cidade\n Estado: $estado\n Mensagem: $textodamensagem\n ENVIADO EM: $date "; //CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA // CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO // "Re: $assunto" $assunto_da_mensagem_de_resposta = "Confirmação CriarStudio"; $cabecalho_da_mensagem_de_resposta = "From: $nome_do_site <$email_para_onde_vai_a_mensagem>\n"; $configuracao_da_mensagem_de_resposta="Obrigado por entrar em contato!\nEstaremos respondendo em breve...\nAtenciosamente,\n$nome_do_site\n\nEnviado em: $date"; // ****** IMPORTANTE ******** // A PARTIR DE AGORA RECOMENDA-SE QUE NÃO ALTERE O SCRIPT PARA QUE O SISTEMA FINCIONE CORRETAMENTE // ****** IMPORTANTE ******** //ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO //POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME //'assunto' NO FORMULARIO DE ENVIO $assunto_digitado_pelo_usuario="s"; //ENVIO DA MENSAGEM ORIGINAL $headers = "$cabecalho_da_mensagem_original"; if ($assunto_digitado_pelo_usuario=="n") { $assunto = "$assunto_da_mensagem_original"; }; $seuemail = "$email_para_onde_vai_a_mensagem"; $mensagem = "$configuracao_da_mensagem_original"; mail($seuemail,$assunto,$mensagem,$headers); //ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA $headers = "$cabecalho_da_mensagem_de_resposta"; if ($assunto_digitado_pelo_usuario=="n") { $assunto = "$assunto_da_mensagem_de_resposta"; } else { $assunto = "Re: $assunto"; }; $mensagem = "$configuracao_da_mensagem_de_resposta"; mail($email,$assunto,$mensagem,$headers); echo "<script>window.location='$exibir_apos_enviar'</script>"; ?> Obrigado e espero que me ajudem. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 2, 2009 Troque $nome por $_POST['nome'] e assim por diante, em todas as variáveis. Deve funcionar. http://br.php.net/manual/en/reserved.variables.post.php Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 2, 2009 Matias, Desculpe ainda sou novato nesse ramo, será que poderia me dizer onde mudar?? Eu pensei que era de uma forma aqui, fiz um teste e nao funciono. se puder me ajudar agradeço. Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo de Andrade 2 Denunciar post Postado Setembro 2, 2009 saulus, o matias_rezende falou desta parte : ENVIADO POR:\n Nome: $nome\n Email: $email\n Telefone: $telefone\n Cidade: $cidade\n Estado: $estado\n Mensagem: $textodamensagem\n ENVIADO EM: $date voce declarou as variaveis, mas de onde elas estao vindo ? se for de um formulario capture os dados com o metedo $_POST[""]; Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 2, 2009 Creio eu que entendi... mas quando eu mudo o $nome para o $_POST["nome"] acontece esse erro: Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/criarstu/public_html/form.php on line 23 =/ Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo de Andrade 2 Denunciar post Postado Setembro 2, 2009 colocou o ; ( ponto e virgula) no final ? Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 2, 2009 Coloquei... testei com e sem o ";" mesmo assim deu erro Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo de Andrade 2 Denunciar post Postado Setembro 2, 2009 posta o script por favor, ele com a modificacao Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 2, 2009 Veja o que ocorre... Leia os comentários dentro do código e depois apague. $configuracao_da_mensagem_original=" //aqui você abriu as aspas duplas ENVIADO POR:\n Nome: $_POST["nome"]\n// se você fizer assim, com aspa dupla, vai fechar e abrir de novo. Email: $_POST['email']\n// esta é a forma correta. Telefone: $telefone\n Cidade: $cidade\n Estado: $estado\n Mensagem: $textodamensagem\n ENVIADO EM: $date "; Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 2, 2009 Bom eu tinha dito. eu sou novato entao nao poço diser se fiz correto... mas tentei de várias formas e nao deu... e uma delas foi assim: ENVIADO POR:\n Nome: $_POST["nome"]"]\n; Email: $_POST["email"]\n; Telefone: $_POST["telefone"]\n; Cidade: $_POST["cidade"]\n; Estado: $_POST["estado"]\n; Mensagem: $_POST["textodamensagem"]\n; ENVIADO EM: $date entao nao sei se esta correto dessa mandeira, más sei que tentei de várias formas =/ Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 2, 2009 Não... Como eu disse antes, use aspas simples dentro do índice... Olha, leia dentro do seu código que eu expliquei o porque não é assim... ENVIADO POR:\n Nome: $_POST['nome']\n; Email: $_POST['email']\n; Telefone: $_POST['telefone']\n; Cidade: $_POST['cidade']\n; Estado: $_POST['estado']\n; Mensagem: $_POST['textodamensagem']\n; ENVIADO EM: $date Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 2, 2009 Ola Matias, Mesmo dessa forma que você me descreveu o erro ainda persiste Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/criarstu/public_html/form.php on line 23 tem algo de errado além disso... =/ Compartilhar este post Link para o post Compartilhar em outros sites
EduardoRaupp 0 Denunciar post Postado Setembro 2, 2009 $nome =$_POST['nomedohtml']; $email = ''; $telefone = ''; $cidade = ''; $estado = ''; $textodamensagem = ''; no teu arquivo.php q envia o email ai dps sim Nome: $nome\n Email: $email\n Telefone: $telefone\n Cidade: $cidade\n Estado: $estado\n Mensagem: $textodamensagem\n Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 2, 2009 Também nao funciono Eduardo =/ vou desistir desse... se alguem tiver um Form completo ai eu agradeço Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 2, 2009 Eu fiz alguns teste e deixei os campos da seguinte forma: $configuracao_da_mensagem_original = $nome = $_POST['nome']; $email = $_POST['email']; $telefone = $_POST['telefone']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $textodamensagem = $_POST['textodamensagem']; Removi os campos: " - do campo $configuracao_da_mensagem_original ENVIADO POR:\n \n - dos campos $nome = $_POST['nome']; ENVIADO EM: $date e os " no final E com isso aconteceu o seguinte. todos os campos sumiram, exeto o campo "Nome" qualquer coisa que eu digitar aparece, mas somente ele; Antes, quando os campos apareciam em branco eu nao recebia um e-mail de confirmação depois que fiz essas alteração passe a receber. Então gostaria saber como fazer para aparecer todos os campos agora, o campo "Nome" apareceu e o que digito. agora falto os outros Obrigado. Armengos mode (x)On ( )off ahauhauhau Compartilhar este post Link para o post Compartilhar em outros sites
Mário Areias 0 Denunciar post Postado Setembro 2, 2009 Basicamente é o seguinte essas variáveis $_POST['xxxx]; vem do seu formulário, esses campos xxxx, ficam dentro dos seus inputs. Ex: <input name='xxxx' id='xxxx' type='text' />. Se não estiver configurado desse jeito, você não vai conseguir usar seus campos no PHP. Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 3, 2009 verifiquei todos os nomes e eles estao corretos. Algo no form.php esta errado que nao ta fazendo funcionar direito esse formulario pego em... =/ Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 3, 2009 Vamos lá... como houveram muitas mudanças desde o código inicial, poste o código como está agora e qual erro acontece. Além disto, coloque este código no início, para efeito de debug e poste aqui o resultado também. echo '<pre>'; print_r($_POST); Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
saulus 0 Denunciar post Postado Setembro 3, 2009 Matias, Consegui resolver uma parte, todos os campos e o que eu digito aparecem. Voltei o código inicial todo e nas variáveis coloquei da seguinte forma: Nome: ".$_POST['nome']."\n; Email: ".$_POST['email']."\n; Telefone: ".$_POST['telefone']."\n; Cidade: ".$_POST['cidade']."\n; Estado: ".$_POST['estado']."\n; Mensagem: ".$_POST['textodamensagem']."\n; Só ta uma pouco diferente do que tinha passado antes, mas dessa forma que ta acima funciono normal. Mas agora que vem um pequeno problema: no formulário quando se preenchia o campo "E-mail" e a pessoa enviasse o formulário, automaticamente a pessoa recebia um e-mail de confirmação na sua caixa de entrada, só que nem agora e nem antes estou recebendo esses e-mails, eu só consegui fazer receber esses e-mails da forma que eu tinha feito no comentário que eu fiz logo acima (Postou Ontem, 16:58). E Toda vez que alguem me envia algo, todas as mensagem recebidas aparecem com o Título "Sem Assunto" só que deveria aparecer isso: $assunto_da_mensagem_original="Contato CriarStudio"; será agora falta algo?? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 3, 2009 Dá uma olhada no manual da função mail. Veja quais são os parâmetros e qual é qual. http://br.php.net/manual/pt_BR/function.mail.php bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] ) Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites