我有这个为朋友工作,然后他改变了供应商,现在没有任何效果,从我所做的所有测试中,提交按钮应该将数据传递给 php 文件,但是当 php 文件运行时它什么也得不到。
这是 html 文件上的 FORM 代码:
<form id="lista" action="lista.php" method="post">
<input name="cf_name" type="text" size="50" hidden="yes" class="obscure">
<input name="cf_email" type="text" size="50" hidden="yes" class="obscure">
<textarea name="cf_message" cols="45" rows="10" hidden="yes" class="obscure"></textarea>
<input type="image" name="lista" value="Enviar Lista por Email" src="imagens/lista_email.png" width="40" height="40" onclick="this.form.elements['cf_message'].value = lista_mail;this.form.elements['cf_name'].value = prompt('Escreva o seu nome:', '');this.form.elements['cf_email'].value = prompt('Escreva o seu email:', '');">
<input name="submit" type="submit" value="Enviar" hidden="yes" class="obscure">
</form>
以前,当他单击提交时,弹出窗口似乎要求输入姓名和电子邮件,而 php 文件会获取这些值,现在什么也没有。
这是PHP文件:
<?php
if ( isset($_POST['submit']) ) {
$smtpinfo['host'] = 'localhost';
$smtpinfo['port'] = '25';
$smtpinfo['auth'] = true;
$smtpinfo['username'] = 'xxx';
$smtpinfo['password'] = 'xxx';
$nome = $_POST['cf_name'];
$email = $_POST['cf_email'];
$mensagem = $_POST['cf_message'];
require_once "Mail.php";
$body = "Nome: ".$nome;
$body.= "\n";
$body.= nl2br($mensagem);
$headers = array ('From' => $email,
'To' => $smtpinfo["username"],
'Subject' => 'Encomenda Website');
$mail_object = Mail::factory('smtp', $smtpinfo);
$mail = $mail_object->send($smtpinfo["username"], $headers, $body);
if ( PEAR::isError($mail) ) {
echo ("<p>" . $mail->getMessage() . "</p>");
} else {
echo ('<b><font color="FFFF00">Mensagem enviada com sucesso para </b>' . $email . '<br><br></font>');
}}
?>
这个PHP在同一站点上的联系表单上正常工作,所以没关系,问题似乎是从html表单获取数据到php,因为他从未通过“IF POST submit is set”,不知道为什么,因为您在到达此文件之前按下提交按钮。
有人可以帮忙吗?谢谢