我有这个代码工作(我不是程序员,但我真的需要这个),它发送带有所有值的电子邮件,但是电子邮件中的复选框值是空白的,即使它们被检查了......有什么帮助吗?
重要:serv-opcao(x)和doc-opcao(x)是ckeckboxes名称。
<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$serv_opcao1 = $_POST[serv-opcao1];
$serv_opcao2 = $_POST[serv-opcao2];
$serv_opcao3 = $_POST[serv-opcao3];
$serv_opcao4 = $_POST[serv-opcao4];
$serv_opcao5 = $_POST[serv-opcao5];
$serv_opcao6 = $_POST[serv-opcao6];
$serv_opcao7 = $_POST[serv-opcao7];
$outros = $_POST[outros];
$slogan = $_POST[slogan];
$url = $_POST[url];
$doc_opcao1 = $_POST[doc-opcao1];
$doc_opcao2 = $_POST[doc-opcao2];
$doc_opcao3 = $_POST[doc-opcao3];
$doc_opcao4 = $_POST[doc-opcao4];
$doc_opcao5 = $_POST[doc-opcao5];
$doc_opcao6 = $_POST[doc-opcao6];
$outros = $_POST[outros2];
$mensagem1 = $_POST[mensagem1];
$mensagem2 = $_POST[mensagem2];
$mensagem3 = $_POST[mensagem3];
$emaildestino = 'lucasvallimdacosta@me.com';
$email_from='lucasvallimdacosta@me.com';
$mensagem = $_POST['mensagem'];
$assunto = $_POST['assunto'];
$titulo = 'Site Lucas Vallim - Nova Mensagem';
$juntando = '<p>Esta mensagem foi enviada pelo site</p><br/>
<p><b>Nome:</b> '.$nome.'</p>
<p><b>Email:</b> '.$email.' </p>
<p><b>Telefone:</b> '.$telefone.'</p>
<p><b>Serviços desejados:</b></p>
<p> '.$serv_opcao1.' '.$serv_opcao2.' '.$serv_opcao3.' '.$serv_opcao4.' '.$serv_opcao5.' '.$serv_opcao6.' '.$serv_opcao7.' </p>
<p><b>Outros (se houver):</b> '.$outros.'</p>
<p><b>Slogan:</b>'.$slogan.'</p>
<p><b>Url:</b>'.$url.'</p>
<p><b>Documentação disponível:</b></p>
<p> '.$doc_opcao1.' '.$doc_opcao2.' '.$doc_opcao3.' '.$doc_opcao4.' '.$doc_opcao5.' '.$doc_opcao6.'</p>
<p><b>Outros (se houver):</b> '.$outros2.'</p>
<p><b>Existe hoje algum problema de comunicação com o público-alvo?</b></p>
<p>'.$mensagem1.'</p>
<p><b>Você pretende que o trabalho esteja pronto em quanto tempo?</b></p>
<p>'.$mensagem2.'</p>
<p><b>Descreva, com suas palavras, tudo sobre o serviço desejado</b></p>
<p>'.$mensagem3.'</p>
<hr>';
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headers .= "From: $email_from " . "\n";
$envio = mail($emaildestino, $titulo, $juntando, $headers, "-r".$email_from);
if($envio)
header('Location:http://www.google.com');
else
echo "A mensagem não pode ser enviada";
?>
这是HTML表单:
<form method="POST" name="contactform" id="meu_form" class="form-horizontal" action="design.php">
<br>
<fieldset>
<legend>Dados Pessoais</legend>
<div class="control-group">
<label class="control-label" for="inputNome">Nome</label>
<div class="controls">
<input type="text" name="nome" id="nome" id="inputNome" placeholder="">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputEmail">Email</label>
<div class="controls">
<input type="text" name="email" id="email" id="inputEmail" placeholder="">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputTelefone">Telefone</label>
<div class="controls">
<input type="text" name="telefone" id="telefone" id="inputTelefone" placeholder="">
</div>
</div>
</fieldset>
<br>
<fieldset id="fundo_safari">
<legend>Formulário para criação de <b>Design Gráfico</b></legend>
<div class="control-group">
<label class="control-label" for="inputPassword">Qual o serviço de interesse?<br>
</label>
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="serv-opcao1" id="serv-opcao1" value="Cartão de Visitas">
Cartão de Visitas
</label>
<label class="checkbox">
<input type="checkbox" name="serv-opcao2" id="serv-opcao2" value="Banner">
Banner
</label>
<label class="checkbox">
<input type="checkbox" name="serv-opcao3" id="serv-opcao3" value="Folheto">
Folheto
</label>
<label class="checkbox">
<input type="checkbox" name="serv-opcao4" id="serv-opcao4" value="Papel Timbrado">
Papel Timbrado
</label>
<label class="checkbox">
<input type="checkbox" name="serv-opcao5" id="serv-opcao5" value="Pasta Institucional">
Pasta Institucional
</label>
<label class="checkbox">
<input type="checkbox" name="serv-opcao6" id="serv-opcao6" value="Assinatura de Email">
Assinatura de e-mail
</label>
<label class="checkbox">
<input type="checkbox" name="serv-opcao7" id="serv-opcao7" value="Outros">
Outros
</label>
<input type="text" name="outros" id="outros" id="inputOutros" placeholder="Especifique">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputEndereço">Possui um slogan?<span id="complemento_label"> (se houver, indique qual).</span></label>
<div class="controls">
<input type="text" name="slogan" id="slogan" placeholder="">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputEndereço">Endereço do website atual<span id="complemento_label"> (se houver).</span></label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">http://</span>
<input type="text" id="url" name="url" id="inputNome" placeholder="">
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Qual a documentação disponível?<br>
</label>
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="doc-opcao1" id="doc-opcao1" value="Logo Tipo">
Logotipo
</label>
<label class="checkbox">
<input type="checkbox" name="doc-opcao2" id="doc-opcao2" value="Impresso Institucional">
Impresso Institucional
</label>
<label class="checkbox">
<input type="checkbox" name="doc-opcao3" id="doc-opcao3" value="Manual">
Manual
</label>
<label class="checkbox">
<input type="checkbox" name="doc-opcao4" id="doc-opcao5" value="Fotos">
Fotos
</label>
<label class="checkbox">
<input type="checkbox" name="doc-opcao5" id="doc-opcao5" value="Videos">
Videos
</label>
<label class="checkbox">
<input type="checkbox" name="doc-opcao6" id="doc-opcao6" value="Outros">
Outros
</label>
<input type="text" name="outros2" id="outros2" id="inputOutros" placeholder="Especifique">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Existe hoje algum problema de comunicação com o público-alvo?
</label>
<div class="controls">
<textarea rows="4" name="mensagem1" id="mensagem1"></textarea>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Você pretende que o trabalho esteja pronto em quanto tempo? <span id="complemento_label">(Prazo máximo)</span>
</label>
<div class="controls">
<textarea rows="4" name="mensagem2" id="mensagem2"></textarea>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Descreva, com suas palavras, tudo sobre o serviço desejado <span id="complemento_label">(objetivo, funcionalidade, exigências, etc.)</span>
</label>
<div class="controls">
<textarea rows="4" name="mensagem3" id="mensagem3"></textarea>
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary">Enviar</button>
</div>
</div>
</fieldset>
</form>
答案 0 :(得分:3)
通过简单的代码突出显示提示:
$telefone = $_POST['telefone'];
$serv_opcao1 = $_POST[serv-opcao1];
发现工作和不工作之间的区别。如果没有引号,PHP会看到常量serv
减去常量opaco1
。由于两者都是未定义的,因此将它们视为字符串。这些字符串没有任何数值,因此0 - 0
的结果为0
且没有$_POST[0]
;如果您的服务器上有错误报告/日志记录,您会看到许多关于未定义的常量/索引的通知。当某些内容不起作用时,错误报告和日志是首先要引用的内容。
此外,php不允许你在请求变量中使用一些字符,自动将它们转换为下划线,所以试试这不应该是破折号,只有空格和点$_POST['serv_opcao1'];