Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá! Boa noite.
Pessoal, gostaria de fazer um formulário simples (com campos nome, e-mail) e um campo de seleção de cidade (como um select)
Porem quando envio esse formulário por mail php recebo todas as informações corretamente, porém o campo select não envia.
Não sei como validar o campo select :/ e fazer com que as informações que o usuário selecionar chegue até o meu e-mail.
Se alguém puder me auxiliar nessa questão eu agradeço.
Obrigada!Seguem os códigos:
Formulário:
<form action="enviar.php" method="post" class="form_contact">
<label for="names">Nome:</label>
<input type="text" id="names" name="nome" required>
<label for="phone">Telefone:</label>
<input type="text" id="phone" name="telefone" >
<label for="cidade">Cidade:</label>
<select id="cidade" name="cidade" required >
<option value="0">Escolha a Cidade</option>
<option value="SP">São Paulo</option>
<option value="RJ">Rio de Janeiro</option>
<!--Abaixo as demais cidades não as coloquei para o código não ficar muito extenso no fórum-->
</select>
<label for="email">*Email: </label>
<input type="text" id="email" name="email" required>
<label for="mensaje">*Mensagem: </label>
<textarea id="mensaje" name="mensagem" required></textarea>
<input type="submit" value="Enviar" id="btnSend">
</form>
Código para envio:
<?php
// Chamando os Campos
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$cidade=$_POST['cidade'];
$mensagem = $_POST['mensagem'];
// Dados para Envio
$destinatario = "meuemail@meuemail.com";
$asunto = "Dúvidas e Comentários";
$carta = "De: $nome \n";
$carta .= "Email: $email \n";
$carta .= "Telefone: $telefone \n";
$carta .= "Cidade: $country \n";
$carta .= "Mensagem: $mensagem";
// Enviando Menssagem
mail($destinatario, $asunto, $carta);
header('Location:enviadocomsuccess.php');
?>.
Agradeço a atenção.
Mas as informações do campo select não chega com a mensagem. Como fazer para que o campo que o usuário selecionar, apareça no e-mail que eu receber?
Com os poderes a mim concedidos (sempre quis dizer isso), removi o que não é interessante para alcançar uma solução ao seu problema.
Visto que você não está recebendo um valor via POST, faça um teste mais simples. No início do código de envio, adicione o seguinte código:
var_dump($_POST);
Traga para nós o output desse código.>
10 minutos atrás, Gabriel Heming disse:
Com os poderes a mim concedidos (sempre quis dizer isso), removi o que não é interessante para alcançar uma solução ao seu problema.
Visto que você não está recebendo um valor via POST, faça um teste mais simples. No início do código de envio, adicione o seguinte código:
var_dump($_POST);
Traga para nós o output desse código.
: ) Obrigada! Agradeço por deixar a postagem "mais leve" : D. Vou testar ! E volto aqui para informar.>
37 minutos atrás, Gabriel Heming disse:
Com os poderes a mim concedidos (sempre quis dizer isso), removi o que não é interessante para alcançar uma solução ao seu problema.
Visto que você não está recebendo um valor via POST, faça um teste mais simples. No início do código de envio, adicione o seguinte código:
var_dump($_POST);
Traga para nós o output desse código.
**Gabriel Heming, **Coloquei o código assim: var_dump($_POST); mail($destinatario, $asunto, $carta);
Seria essa a área de envio que você se refere ? Me desculpe a pergunta é que eu sou muito principiante em php
Testei dessa forma ele envia da mesma forma sem o select.
Agradeço sua atenção..
Agradeço a atenção.
>
1 hora atrás, Gabriel Heming disse:
Com os poderes a mim concedidos (sempre quis dizer isso), removi o que não é interessante para alcançar uma solução ao seu problema.
Visto que você não está recebendo um valor via POST, faça um teste mais simples. No início do código de envio, adicione o seguinte código:
var_dump($_POST);
Traga para nós o output desse código.
Gabriel Heming , fiz o que você indicou, acrescentei no código o var_dump($_POST); e agora todas as informações chegaram corretamente no email! Muito Obrigada!!! O var_dump não era um código para corrigir o problema. Ele é usado apenas como debug. Foi alguma outra alteração que você realizou que resolveu o problema.
Caso esteja utilizando um servidor remoto, as vezes acontece de utilizare, cache. O que pode ser uma dor de cabeça.
>
Em 19/03/2018 at 08:19, Gabriel Heming disse:
O var_dump não era um código para corrigir o problema. Ele é usado apenas como debug. Foi alguma outra alteração que você realizou que resolveu o problema.
Caso esteja utilizando um servidor remoto, as vezes acontece de utilizare, cache. O que pode ser uma dor de cabeça.
Na realidade, somente acrescentei o código que você me indicou ao meu código, não fiz outras alterações. O servidor não é remoto, mas sim online (locaweb). Na realidade tive muitos problemas no envio de e-mails por php (por exemplo acentuação no texto, a mensagem chegava toda errada, mas isso eu já havia encontrado a solução, só faltava mesmo aparecer o campo select no email). Agora eu fiquei confusa, pois você disse que esse código "não corrigi o problema é usado apenas como debug", e eu realmente não fiz nada no código além de acrescentar o que você indicou. Muito obrigada, de qualquer forma serviu muito bem para o problema.
Se não me engano (faz uns 6 anos que não utilizo a locaweb), ela utiliza cache para os scripts PHP. Isso significa que as suas alterações demoram um tempo para serem refletidas quando colocadas no servidor.
Online e remoto são definições para status diferentes. E, no seu caso, o servidor é ambos: remoto (não está localizado aonde você trabalho) e online (está disponível para acesso externo).
>
38 minutos atrás, Gabriel Heming disse:
Se não me engano (faz uns 6 anos que não utilizo a locaweb), ela utiliza cache para os scripts PHP. Isso significa que as suas alterações demoram um tempo para serem refletidas quando colocadas no servidor.
Online e remoto são definições para status diferentes. E, no seu caso, o servidor é ambos: remoto (não está localizado aonde você trabalho) e online (está disponível para acesso externo).
Obrigada pelas informações, no suporte da locaweb eles não passam muitas informações dizem somente que o erro é na programação. Então será que era isso somente problemas de cache (quando estava testando eu limpava o histórico do navegador). Eu posso deixar o var_dump($_POST); no código sem problemas né? Pois esta tudo certo agora.
Nesse caso, não deve haver problemas. Entretanto, não é indicado.
>
3 horas atrás, Gabriel Heming disse:
Nesse caso, não deve haver problemas. Entretanto, não é indicado.
Certo. Agradeço a atenção!
Posta seu codigo do formulario
e o codigo que envia o email